diff --git a/README.md b/README.md index e69de29..0048394 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,10 @@ +# Alpine bits + +Hour alpine bits application needs to mostly act as a server. It needs to provide room reservation information to the ASA alpinebits client at the hotel. + +However in other things we act could potentially act as the client with ASA acting as the alpinebits server. Basically according to the documentation the whole thing depends on who is requesting information and who has it. + +When ASA wants to know our GuestRequests from the Landing page then they are the client and we the server. This causes some problems because our system actually knows less than the hotel system. We can't easiliy add Room Rate information and publish a reservation to ASA because we don't actually know the rooms. + +Just for GuestRequests this should be fine however. + diff --git a/pyproject.toml b/pyproject.toml index e708483..dec8151 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,5 +5,6 @@ description = "Add your description here" readme = "README.md" requires-python = ">=3.13" dependencies = [ + "generateds>=2.44.3", "lxml>=6.0.1", ] diff --git a/src/alpine_bits_classes.py b/src/alpine_bits_classes.py new file mode 100644 index 0000000..19626db --- /dev/null +++ b/src/alpine_bits_classes.py @@ -0,0 +1,105109 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# +# Generated Tue Sep 23 08:57:48 2025 by generateDS.py version 2.44.3. +# Python 3.13.3 (main, Apr 9 2025, 04:03:52) [Clang 20.1.0 ] +# +# Command line options: +# ('-o', 'alpine_bits_classes.py') +# ('-s', 'subclasses.py') +# +# Command line arguments: +# ../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd +# +# Command line: +# ../.venv/bin/generateDS.py -o "alpine_bits_classes.py" -s "subclasses.py" ../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd +# +# Current working directory (os.getcwd()): +# src +# + +import sys +try: + ModulenotfoundExp_ = ModuleNotFoundError +except NameError: + ModulenotfoundExp_ = ImportError +from six.moves import zip_longest +import os +import re as re_ +import base64 +import datetime as datetime_ +import decimal as decimal_ +from lxml import etree as etree_ + + +Validate_simpletypes_ = True +SaveElementTreeNode = True +TagNamePrefix = "" +if sys.version_info.major == 2: + BaseStrType_ = basestring +else: + BaseStrType_ = str + + +def parsexml_(infile, parser=None, **kwargs): + if parser is None: + # Use the lxml ElementTree compatible parser so that, e.g., + # we ignore comments. + try: + parser = etree_.ETCompatXMLParser() + except AttributeError: + # fallback to xml.etree + parser = etree_.XMLParser() + try: + if isinstance(infile, os.PathLike): + infile = os.path.join(infile) + except AttributeError: + pass + doc = etree_.parse(infile, parser=parser, **kwargs) + return doc + +def parsexmlstring_(instring, parser=None, **kwargs): + if parser is None: + # Use the lxml ElementTree compatible parser so that, e.g., + # we ignore comments. + try: + parser = etree_.ETCompatXMLParser() + except AttributeError: + # fallback to xml.etree + parser = etree_.XMLParser() + element = etree_.fromstring(instring, parser=parser, **kwargs) + return element + +# +# Namespace prefix definition table (and other attributes, too) +# +# The module generatedsnamespaces, if it is importable, must contain +# a dictionary named GeneratedsNamespaceDefs. This Python dictionary +# should map element type names (strings) to XML schema namespace prefix +# definitions. The export method for any class for which there is +# a namespace prefix definition, will export that definition in the +# XML representation of that element. See the export method of +# any generated element type class for an example of the use of this +# table. +# A sample table is: +# +# # File: generatedsnamespaces.py +# +# GenerateDSNamespaceDefs = { +# "ElementtypeA": "http://www.xxx.com/namespaceA", +# "ElementtypeB": "http://www.xxx.com/namespaceB", +# } +# +# Additionally, the generatedsnamespaces module can contain a python +# dictionary named GenerateDSNamespaceTypePrefixes that associates element +# types with the namespace prefixes that are to be added to the +# "xsi:type" attribute value. See the _exportAttributes method of +# any generated element type and the generation of "xsi:type" for an +# example of the use of this table. +# An example table: +# +# # File: generatedsnamespaces.py +# +# GenerateDSNamespaceTypePrefixes = { +# "ElementtypeC": "aaa:", +# "ElementtypeD": "bbb:", +# } +# + +try: + from generatedsnamespaces import GenerateDSNamespaceDefs as GenerateDSNamespaceDefs_ +except ModulenotfoundExp_ : + GenerateDSNamespaceDefs_ = {} +try: + from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_ +except ModulenotfoundExp_ : + GenerateDSNamespaceTypePrefixes_ = {} + +# +# You can replace the following class definition by defining an +# importable module named "generatedscollector" containing a class +# named "GdsCollector". See the default class definition below for +# clues about the possible content of that class. +# +try: + from generatedscollector import GdsCollector as GdsCollector_ +except ModulenotfoundExp_ : + + class GdsCollector_(object): + + def __init__(self, messages=None): + if messages is None: + self.messages = [] + else: + self.messages = messages + + def add_message(self, msg): + self.messages.append(msg) + + def get_messages(self): + return self.messages + + def clear_messages(self): + self.messages = [] + + def print_messages(self): + for msg in self.messages: + print("Warning: {}".format(msg)) + + def write_messages(self, outstream): + for msg in self.messages: + outstream.write("Warning: {}\n".format(msg)) + + +# +# The super-class for enum types +# + +try: + from enum import Enum +except ModulenotfoundExp_ : + Enum = object + +# +# The root super-class for element type classes +# +# Calls to the methods in these classes are generated by generateDS.py. +# You can replace these methods by re-implementing the following class +# in a module named generatedssuper.py. + +try: + from generatedssuper import GeneratedsSuper +except ModulenotfoundExp_ as exp: + try: + from generatedssupersuper import GeneratedsSuperSuper + except ModulenotfoundExp_ as exp: + class GeneratedsSuperSuper(object): + pass + + class GeneratedsSuper(GeneratedsSuperSuper): + __hash__ = object.__hash__ + tzoff_pattern = re_.compile('(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)$') + class _FixedOffsetTZ(datetime_.tzinfo): + def __init__(self, offset, name): + self.__offset = datetime_.timedelta(minutes=offset) + self.__name = name + def utcoffset(self, dt): + return self.__offset + def tzname(self, dt): + return self.__name + def dst(self, dt): + return None + def __str__(self): + settings = { + 'str_pretty_print': True, + 'str_indent_level': 0, + 'str_namespaceprefix': '', + 'str_name': self.__class__.__name__, + 'str_namespacedefs': '', + } + for n in settings: + if hasattr(self, n): + settings[n] = getattr(self, n) + if sys.version_info.major == 2: + from StringIO import StringIO + else: + from io import StringIO + output = StringIO() + self.export( + output, + settings['str_indent_level'], + pretty_print=settings['str_pretty_print'], + namespaceprefix_=settings['str_namespaceprefix'], + name_=settings['str_name'], + namespacedef_=settings['str_namespacedefs'] + ) + strval = output.getvalue() + output.close() + return strval + def gds_format_string(self, input_data, input_name=''): + return input_data + def gds_parse_string(self, input_data, node=None, input_name=''): + return input_data + def gds_validate_string(self, input_data, node=None, input_name=''): + if not input_data: + return '' + else: + return input_data + def gds_format_base64(self, input_data, input_name=''): + return base64.b64encode(input_data).decode('ascii') + def gds_validate_base64(self, input_data, node=None, input_name=''): + return input_data + def gds_format_integer(self, input_data, input_name=''): + return '%d' % int(input_data) + def gds_parse_integer(self, input_data, node=None, input_name=''): + try: + ival = int(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires integer value: %s' % exp) + return ival + def gds_validate_integer(self, input_data, node=None, input_name=''): + try: + value = int(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires integer value') + return value + def gds_format_integer_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_integer_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + int(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of integer values') + return values + def gds_format_float(self, input_data, input_name=''): + value = ('%.15f' % float(input_data)).rstrip('0') + if value.endswith('.'): + value += '0' + return value + + def gds_parse_float(self, input_data, node=None, input_name=''): + try: + fval_ = float(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires float or double value: %s' % exp) + return fval_ + def gds_validate_float(self, input_data, node=None, input_name=''): + try: + value = float(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires float value') + return value + def gds_format_float_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_float_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + float(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of float values') + return values + def gds_format_decimal(self, input_data, input_name=''): + return_value = '%s' % input_data + if '.' in return_value: + return_value = return_value.rstrip('0') + if return_value.endswith('.'): + return_value = return_value.rstrip('.') + return return_value + def gds_parse_decimal(self, input_data, node=None, input_name=''): + try: + decimal_value = decimal_.Decimal(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires decimal value') + return decimal_value + def gds_validate_decimal(self, input_data, node=None, input_name=''): + try: + value = decimal_.Decimal(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires decimal value') + return value + def gds_format_decimal_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return ' '.join([self.gds_format_decimal(item) for item in input_data]) + def gds_validate_decimal_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + decimal_.Decimal(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of decimal values') + return values + def gds_format_double(self, input_data, input_name=''): + return '%s' % input_data + def gds_parse_double(self, input_data, node=None, input_name=''): + try: + fval_ = float(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires double or float value: %s' % exp) + return fval_ + def gds_validate_double(self, input_data, node=None, input_name=''): + try: + value = float(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires double or float value') + return value + def gds_format_double_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_double_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + float(value) + except (TypeError, ValueError): + raise_parse_error( + node, 'Requires sequence of double or float values') + return values + def gds_format_boolean(self, input_data, input_name=''): + return ('%s' % input_data).lower() + def gds_parse_boolean(self, input_data, node=None, input_name=''): + input_data = input_data.strip() + if input_data in ('true', '1'): + bval = True + elif input_data in ('false', '0'): + bval = False + else: + raise_parse_error(node, 'Requires boolean value') + return bval + def gds_validate_boolean(self, input_data, node=None, input_name=''): + if input_data not in (True, 1, False, 0, ): + raise_parse_error( + node, + 'Requires boolean value ' + '(one of True, 1, False, 0)') + return input_data + def gds_format_boolean_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_boolean_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + value = self.gds_parse_boolean(value, node, input_name) + if value not in (True, 1, False, 0, ): + raise_parse_error( + node, + 'Requires sequence of boolean values ' + '(one of True, 1, False, 0)') + return values + def gds_validate_datetime(self, input_data, node=None, input_name=''): + return input_data + def gds_format_datetime(self, input_data, input_name=''): + if input_data.microsecond == 0: + _svalue = '%04d-%02d-%02dT%02d:%02d:%02d' % ( + input_data.year, + input_data.month, + input_data.day, + input_data.hour, + input_data.minute, + input_data.second, + ) + else: + _svalue = '%04d-%02d-%02dT%02d:%02d:%02d.%s' % ( + input_data.year, + input_data.month, + input_data.day, + input_data.hour, + input_data.minute, + input_data.second, + ('%f' % (float(input_data.microsecond) / 1000000))[2:], + ) + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) + return _svalue + @classmethod + def gds_parse_datetime(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + time_parts = input_data.split('.') + if len(time_parts) > 1: + micro_seconds = int(float('0.' + time_parts[1]) * 1000000) + input_data = '%s.%s' % ( + time_parts[0], "{}".format(micro_seconds).rjust(6, "0"), ) + dt = datetime_.datetime.strptime( + input_data, '%Y-%m-%dT%H:%M:%S.%f') + else: + dt = datetime_.datetime.strptime( + input_data, '%Y-%m-%dT%H:%M:%S') + dt = dt.replace(tzinfo=tz) + return dt + def gds_validate_date(self, input_data, node=None, input_name=''): + return input_data + def gds_format_date(self, input_data, input_name=''): + _svalue = '%04d-%02d-%02d' % ( + input_data.year, + input_data.month, + input_data.day, + ) + try: + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format( + hours, minutes) + except AttributeError: + pass + return _svalue + @classmethod + def gds_parse_date(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + dt = datetime_.datetime.strptime(input_data, '%Y-%m-%d') + dt = dt.replace(tzinfo=tz) + return dt.date() + def gds_validate_time(self, input_data, node=None, input_name=''): + return input_data + def gds_format_time(self, input_data, input_name=''): + if input_data.microsecond == 0: + _svalue = '%02d:%02d:%02d' % ( + input_data.hour, + input_data.minute, + input_data.second, + ) + else: + _svalue = '%02d:%02d:%02d.%s' % ( + input_data.hour, + input_data.minute, + input_data.second, + ('%f' % (float(input_data.microsecond) / 1000000))[2:], + ) + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) + return _svalue + def gds_validate_simple_patterns(self, patterns, target): + # pat is a list of lists of strings/patterns. + # The target value must match at least one of the patterns + # in order for the test to succeed. + found1 = True + target = str(target) + for patterns1 in patterns: + found2 = False + for patterns2 in patterns1: + mo = re_.search(patterns2, target) + if mo is not None and len(mo.group(0)) == len(target): + found2 = True + break + if not found2: + found1 = False + break + return found1 + @classmethod + def gds_parse_time(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + if len(input_data.split('.')) > 1: + dt = datetime_.datetime.strptime(input_data, '%H:%M:%S.%f') + else: + dt = datetime_.datetime.strptime(input_data, '%H:%M:%S') + dt = dt.replace(tzinfo=tz) + return dt.time() + def gds_check_cardinality_( + self, value, input_name, + min_occurs=0, max_occurs=1, required=None): + if value is None: + length = 0 + elif isinstance(value, list): + length = len(value) + else: + length = 1 + if required is not None : + if required and length < 1: + self.gds_collector_.add_message( + "Required value {}{} is missing".format( + input_name, self.gds_get_node_lineno_())) + if length < min_occurs: + self.gds_collector_.add_message( + "Number of values for {}{} is below " + "the minimum allowed, " + "expected at least {}, found {}".format( + input_name, self.gds_get_node_lineno_(), + min_occurs, length)) + elif length > max_occurs: + self.gds_collector_.add_message( + "Number of values for {}{} is above " + "the maximum allowed, " + "expected at most {}, found {}".format( + input_name, self.gds_get_node_lineno_(), + max_occurs, length)) + def gds_validate_builtin_ST_( + self, validator, value, input_name, + min_occurs=None, max_occurs=None, required=None): + if value is not None: + try: + validator(value, input_name=input_name) + except GDSParseError as parse_error: + self.gds_collector_.add_message(str(parse_error)) + def gds_validate_defined_ST_( + self, validator, value, input_name, + min_occurs=None, max_occurs=None, required=None): + if value is not None: + try: + validator(value) + except GDSParseError as parse_error: + self.gds_collector_.add_message(str(parse_error)) + def gds_str_lower(self, instring): + return instring.lower() + def get_path_(self, node): + path_list = [] + self.get_path_list_(node, path_list) + path_list.reverse() + path = '/'.join(path_list) + return path + Tag_strip_pattern_ = re_.compile(r'{.*}') + def get_path_list_(self, node, path_list): + if node is None: + return + tag = GeneratedsSuper.Tag_strip_pattern_.sub('', node.tag) + if tag: + path_list.append(tag) + self.get_path_list_(node.getparent(), path_list) + def get_class_obj_(self, node, default_class=None): + class_obj1 = default_class + if 'xsi' in node.nsmap: + classname = node.get('{%s}type' % node.nsmap['xsi']) + if classname is not None: + names = classname.split(':') + if len(names) == 2: + classname = names[1] + class_obj2 = globals().get(classname) + if class_obj2 is not None: + class_obj1 = class_obj2 + return class_obj1 + def gds_build_any(self, node, type_name=None): + # provide default value in case option --disable-xml is used. + content = "" + content = etree_.tostring(node, encoding="unicode") + return content + @classmethod + def gds_reverse_node_mapping(cls, mapping): + return dict(((v, k) for k, v in mapping.items())) + @staticmethod + def gds_encode(instring): + if sys.version_info.major == 2: + if ExternalEncoding: + encoding = ExternalEncoding + else: + encoding = 'utf-8' + return instring.encode(encoding) + else: + return instring + @staticmethod + def convert_unicode(instring): + if isinstance(instring, str): + result = quote_xml(instring) + elif sys.version_info.major == 2 and isinstance(instring, unicode): + result = quote_xml(instring).encode('utf8') + else: + result = GeneratedsSuper.gds_encode(str(instring)) + return result + def __eq__(self, other): + def excl_select_objs_(obj): + return (obj[0] != 'parent_object_' and + obj[0] != 'gds_collector_') + if type(self) != type(other): + return False + return all(x == y for x, y in zip_longest( + filter(excl_select_objs_, self.__dict__.items()), + filter(excl_select_objs_, other.__dict__.items()))) + def __ne__(self, other): + return not self.__eq__(other) + # Django ETL transform hooks. + def gds_djo_etl_transform(self): + pass + def gds_djo_etl_transform_db_obj(self, dbobj): + pass + # SQLAlchemy ETL transform hooks. + def gds_sqa_etl_transform(self): + return 0, None + def gds_sqa_etl_transform_db_obj(self, dbobj): + pass + def gds_get_node_lineno_(self): + if (hasattr(self, "gds_elementtree_node_") and + self.gds_elementtree_node_ is not None): + return ' near line {}'.format( + self.gds_elementtree_node_.sourceline) + else: + return "" + + + def getSubclassFromModule_(module, class_): + '''Get the subclass of a class from a specific module.''' + name = class_.__name__ + 'Sub' + if hasattr(module, name): + return getattr(module, name) + else: + return None + + +# +# If you have installed IPython you can uncomment and use the following. +# IPython is available from http://ipython.scipy.org/. +# + +## from IPython.Shell import IPShellEmbed +## args = '' +## ipshell = IPShellEmbed(args, +## banner = 'Dropping into IPython', +## exit_msg = 'Leaving Interpreter, back to program.') + +# Then use the following line where and when you want to drop into the +# IPython shell: +# ipshell(' -- Entering ipshell.\nHit Ctrl-D to exit') + +# +# Globals +# + +ExternalEncoding = '' +# Set this to false in order to deactivate during export, the use of +# name space prefixes captured from the input document. +UseCapturedNS_ = True +CapturedNsmap_ = {} +Tag_pattern_ = re_.compile(r'({.*})?(.*)') +String_cleanup_pat_ = re_.compile(r"[\n\r\s]+") +Namespace_extract_pat_ = re_.compile(r'{(.*)}(.*)') +CDATA_pattern_ = re_.compile(r"", re_.DOTALL) + +# Change this to redirect the generated superclass module to use a +# specific subclass module. +CurrentSubclassModule_ = None + +# +# Support/utility functions. +# + + +def showIndent(outfile, level, pretty_print=True): + if pretty_print: + for idx in range(level): + outfile.write(' ') + + +def quote_xml(inStr): + "Escape markup chars, but do not modify CDATA sections." + if not inStr: + return '' + s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) + s2 = '' + pos = 0 + matchobjects = CDATA_pattern_.finditer(s1) + for mo in matchobjects: + s3 = s1[pos:mo.start()] + s2 += quote_xml_aux(s3) + s2 += s1[mo.start():mo.end()] + pos = mo.end() + s3 = s1[pos:] + s2 += quote_xml_aux(s3) + return s2 + + +def quote_xml_aux(inStr): + s1 = inStr.replace('&', '&') + s1 = s1.replace('<', '<') + s1 = s1.replace('>', '>') + return s1 + + +def quote_attrib(inStr): + s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) + s1 = s1.replace('&', '&') + s1 = s1.replace('<', '<') + s1 = s1.replace('>', '>') + s1 = s1.replace('\n', ' ') + if '"' in s1: + if "'" in s1: + s1 = '"%s"' % s1.replace('"', """) + else: + s1 = "'%s'" % s1 + else: + s1 = '"%s"' % s1 + return s1 + + +def quote_python(inStr): + s1 = inStr + if s1.find("'") == -1: + if s1.find('\n') == -1: + return "'%s'" % s1 + else: + return "'''%s'''" % s1 + else: + if s1.find('"') != -1: + s1 = s1.replace('"', '\\"') + if s1.find('\n') == -1: + return '"%s"' % s1 + else: + return '"""%s"""' % s1 + + +def get_all_text_(node): + if node.text is not None: + text = node.text + else: + text = '' + for child in node: + if child.tail is not None: + text += child.tail + return text + + +def find_attr_value_(attr_name, node): + attrs = node.attrib + attr_parts = attr_name.split(':') + value = None + if len(attr_parts) == 1: + value = attrs.get(attr_name) + elif len(attr_parts) == 2: + prefix, name = attr_parts + if prefix == 'xml': + namespace = 'http://www.w3.org/XML/1998/namespace' + else: + namespace = node.nsmap.get(prefix) + if namespace is not None: + value = attrs.get('{%s}%s' % (namespace, name, )) + return value + + +def encode_str_2_3(instr): + return instr + + +class GDSParseError(Exception): + pass + + +def raise_parse_error(node, msg): + if node is not None: + msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, ) + raise GDSParseError(msg) + + +class MixedContainer: + # Constants for category: + CategoryNone = 0 + CategoryText = 1 + CategorySimple = 2 + CategoryComplex = 3 + # Constants for content_type: + TypeNone = 0 + TypeText = 1 + TypeString = 2 + TypeInteger = 3 + TypeFloat = 4 + TypeDecimal = 5 + TypeDouble = 6 + TypeBoolean = 7 + TypeBase64 = 8 + def __init__(self, category, content_type, name, value): + self.category = category + self.content_type = content_type + self.name = name + self.value = value + def getCategory(self): + return self.category + def getContenttype(self, content_type): + return self.content_type + def getValue(self): + return self.value + def getName(self): + return self.name + def export(self, outfile, level, name, namespace, + pretty_print=True): + if self.category == MixedContainer.CategoryText: + # Prevent exporting empty content as empty lines. + if self.value.strip(): + outfile.write(self.value) + elif self.category == MixedContainer.CategorySimple: + self.exportSimple(outfile, level, name) + else: # category == MixedContainer.CategoryComplex + self.value.export( + outfile, level, namespace, name_=name, + pretty_print=pretty_print) + def exportSimple(self, outfile, level, name): + if self.content_type == MixedContainer.TypeString: + outfile.write('<%s>%s' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeInteger or \ + self.content_type == MixedContainer.TypeBoolean: + outfile.write('<%s>%d' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeFloat or \ + self.content_type == MixedContainer.TypeDecimal: + outfile.write('<%s>%f' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeDouble: + outfile.write('<%s>%g' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeBase64: + outfile.write('<%s>%s' % ( + self.name, + base64.b64encode(self.value), + self.name)) + def to_etree(self, element, mapping_=None, reverse_mapping_=None, nsmap_=None): + if self.category == MixedContainer.CategoryText: + # Prevent exporting empty content as empty lines. + if self.value.strip(): + if len(element) > 0: + if element[-1].tail is None: + element[-1].tail = self.value + else: + element[-1].tail += self.value + else: + if element.text is None: + element.text = self.value + else: + element.text += self.value + elif self.category == MixedContainer.CategorySimple: + subelement = etree_.SubElement( + element, '%s' % self.name) + subelement.text = self.to_etree_simple() + else: # category == MixedContainer.CategoryComplex + self.value.to_etree(element) + def to_etree_simple(self, mapping_=None, reverse_mapping_=None, nsmap_=None): + if self.content_type == MixedContainer.TypeString: + text = self.value + elif (self.content_type == MixedContainer.TypeInteger or + self.content_type == MixedContainer.TypeBoolean): + text = '%d' % self.value + elif (self.content_type == MixedContainer.TypeFloat or + self.content_type == MixedContainer.TypeDecimal): + text = '%f' % self.value + elif self.content_type == MixedContainer.TypeDouble: + text = '%g' % self.value + elif self.content_type == MixedContainer.TypeBase64: + text = '%s' % base64.b64encode(self.value) + return text + def exportLiteral(self, outfile, level, name): + if self.category == MixedContainer.CategoryText: + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( + self.category, self.content_type, + self.name, self.value)) + elif self.category == MixedContainer.CategorySimple: + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( + self.category, self.content_type, + self.name, self.value)) + else: # category == MixedContainer.CategoryComplex + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s",\n' % ( + self.category, self.content_type, self.name,)) + self.value.exportLiteral(outfile, level + 1) + showIndent(outfile, level) + outfile.write(')\n') + + +class MemberSpec_(object): + def __init__(self, name='', data_type='', container=0, + optional=0, child_attrs=None, choice=None): + self.name = name + self.data_type = data_type + self.container = container + self.child_attrs = child_attrs + self.choice = choice + 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 + def get_data_type_chain(self): return self.data_type + def get_data_type(self): + if isinstance(self.data_type, list): + if len(self.data_type) > 0: + return self.data_type[-1] + else: + return 'xs:string' + else: + return self.data_type + def set_container(self, container): self.container = container + def get_container(self): return self.container + def set_child_attrs(self, child_attrs): self.child_attrs = child_attrs + def get_child_attrs(self): return self.child_attrs + def set_choice(self, choice): self.choice = choice + def get_choice(self): return self.choice + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional + + +def _cast(typ, value): + if typ is None or value is None: + return value + return typ(value) + + +# +# Start enum classes +# +class AddToBasicRateIndicatorType(str, Enum): + _1='1' + TRUE='true' + + +class AddToBasicRateIndicatorType485(str, Enum): + _1='1' + TRUE='true' + + +class AddToBasicRateIndicatorType804(str, Enum): + _1='1' + TRUE='true' + + +class AgeQualifyingCodeType(str, Enum): + _8='8' + _1_0='10' + + +class AgeQualifyingCodeType500(str, Enum): + _8='8' + _1_0='10' + + +class AgeQualifyingCodeType819(str, Enum): + _8='8' + _1_0='10' + + +class AltitudeUnitOfMeasureCodeType(str, Enum): + _3='3' + + +class AltitudeUnitOfMeasureCodeType299(str, Enum): + _3='3' + + +class AltitudeUnitOfMeasureCodeType667(str, Enum): + _3='3' + + +class CategoryType200(str, Enum): + _1='1' + _2='2' + _4='4' + _1_2='12' + _1_5='15' + _2_2='22' + + +class CategoryType205(str, Enum): + _1='1' + _2='2' + _4='4' + _1_2='12' + _2_0='20' + _2_2='22' + + +class CategoryType288(str, Enum): + _1='1' + _2='2' + _4='4' + _1_2='12' + _1_5='15' + _2_2='22' + + +class CategoryType296(str, Enum): + _1='1' + _2='2' + _4='4' + _1_2='12' + _2_0='20' + _2_2='22' + + +class CategoryType656(str, Enum): + _1='1' + _2='2' + _4='4' + _1_2='12' + _1_5='15' + _2_2='22' + + +class CategoryType664(str, Enum): + _1='1' + _2='2' + _4='4' + _1_2='12' + _2_0='20' + _2_2='22' + + +class ChargeFrequencyType(str, Enum): + _1='1' + + +class ChargeFrequencyType353(str, Enum): + _1='1' + + +class ChargeFrequencyType721(str, Enum): + _1='1' + + +class ChargeTypeCodeType(str, Enum): + _1='1' + _1_2='12' + _1_8='18' + _1_9='19' + _2_0='20' + _2_1='21' + _2_4='24' + + +class ChargeTypeCodeType486(str, Enum): + _1='1' + _1_2='12' + _1_8='18' + _1_9='19' + _2_0='20' + _2_1='21' + _2_4='24' + + +class ChargeTypeCodeType805(str, Enum): + _1='1' + _1_2='12' + _1_8='18' + _1_9='19' + _2_0='20' + _2_1='21' + _2_4='24' + + +class ChargeUnitType(str, Enum): + _2_1='21' + + +class ChargeUnitType354(str, Enum): + _2_1='21' + + +class ChargeUnitType722(str, Enum): + _2_1='21' + + +class CodeContextType(str, Enum): + ALPINEBITS='ALPINEBITS' + HOTEL='HOTEL' + + +class CodeContextType148(str, Enum): + ALPINEBITS='ALPINEBITS' + HOTEL='HOTEL' + + +class CodeContextType403(str, Enum): + ROOMTYPE='ROOMTYPE' + + +class CodeContextType459(str, Enum): + ROOMTYPE='ROOMTYPE' + + +class CodeContextType599(str, Enum): + ALPINEBITS='ALPINEBITS' + HOTEL='HOTEL' + + +class CodeContextType778(str, Enum): + ROOMTYPE='ROOMTYPE' + + +class CodeType239(str, Enum): + _3='3' + + +class CodeType352(str, Enum): + _3='3' + + +class CodeType720(str, Enum): + _3='3' + + +class CountTypeType(str, Enum): + _2='2' + _6='6' + _9='9' + + +class FirstQualifyingPositionType(str, Enum): + _1='1' + + +class FirstQualifyingPositionType508(str, Enum): + _1='1' + + +class FirstQualifyingPositionType827(str, Enum): + _1='1' + + +class InfoCodeType(str, Enum): + _1='1' + _1_7='17' + _2_3='23' + _2_4='24' + + +class InfoCodeType222(str, Enum): + _1='1' + _2_3='23' + _2_5='25' + + +class InfoCodeType297(str, Enum): + _1='1' + _1_7='17' + _2_3='23' + _2_4='24' + + +class InfoCodeType325(str, Enum): + _1='1' + _2_3='23' + _2_5='25' + + +class InfoCodeType665(str, Enum): + _1='1' + _1_7='17' + _2_3='23' + _2_4='24' + + +class InfoCodeType693(str, Enum): + _1='1' + _2_3='23' + _2_5='25' + + +class InstanceType(str, Enum): + COMPLETE_SET='CompleteSet' + + +class InstanceType398(str, Enum): + COMPLETE_SET='CompleteSet' + + +class InvTypeType(str, Enum): + ALPINEBITSDOW='ALPINEBITSDOW' + ROOMTYPE='ROOMTYPE' + + +class InvTypeType420(str, Enum): + EXTRA='EXTRA' + ALPINEBITSEXTRA='ALPINEBITSEXTRA' + + +class InvTypeType479(str, Enum): + ALPINEBITSDOW='ALPINEBITSDOW' + ROOMTYPE='ROOMTYPE' + + +class InvTypeType487(str, Enum): + EXTRA='EXTRA' + ALPINEBITSEXTRA='ALPINEBITSEXTRA' + + +class InvTypeType798(str, Enum): + ALPINEBITSDOW='ALPINEBITSDOW' + ROOMTYPE='ROOMTYPE' + + +class InvTypeType806(str, Enum): + EXTRA='EXTRA' + ALPINEBITSEXTRA='ALPINEBITSEXTRA' + + +class LocationType256(str, Enum): + _6='6' + + +class LocationType395(str, Enum): + _6='6' + + +class LocationType763(str, Enum): + _6='6' + + +class MealPlanCodeType(str, Enum): + _1_2='12' + + +class MealPlanCodeType304(str, Enum): + _1_2='12' + + +class MealPlanCodeType672(str, Enum): + _1_2='12' + + +class MealPlanCodesType(str, Enum): + _1='1' + _3='3' + _1_0='10' + _1_2='12' + _1_4='14' + + +class MealPlanCodesType411(str, Enum): + _1='1' + _3='3' + _1_0='10' + _1_2='12' + _1_4='14' + + +class MealPlanCodesType472(str, Enum): + _1='1' + _3='3' + _1_0='10' + _1_2='12' + _1_4='14' + + +class MealPlanCodesType530(str, Enum): + _1='1' + _3='3' + _1_0='10' + _1_2='12' + _1_4='14' + + +class MealPlanCodesType79(str, Enum): + _1='1' + _3='3' + _1_0='10' + _1_2='12' + _1_4='14' + + +class MealPlanCodesType791(str, Enum): + _1='1' + _3='3' + _1_0='10' + _1_2='12' + _1_4='14' + + +class MealPlanIndicatorType(str, Enum): + _1='1' + TRUE='true' + + +class MealPlanIndicatorType412(str, Enum): + _1='1' + TRUE='true' + + +class MealPlanIndicatorType473(str, Enum): + _1='1' + TRUE='true' + + +class MealPlanIndicatorType529(str, Enum): + _1='1' + TRUE='true' + + +class MealPlanIndicatorType78(str, Enum): + _1='1' + TRUE='true' + + +class MealPlanIndicatorType792(str, Enum): + _1='1' + TRUE='true' + + +class MinMaxMessageTypeType(str, Enum): + SET_MIN_LOS='SetMinLOS' + SET_FORWARD_MIN_STAY='SetForwardMinStay' + SET_MAX_LOS='SetMaxLOS' + SET_FORWARD_MAX_STAY='SetForwardMaxStay' + + +class MinMaxMessageTypeType424(str, Enum): + SET_MIN_LOS='SetMinLOS' + SET_MAX_LOS='SetMaxLOS' + _='' + + +class MinMaxMessageTypeType452(str, Enum): + SET_MIN_LOS='SetMinLOS' + SET_FORWARD_MIN_STAY='SetForwardMinStay' + SET_MAX_LOS='SetMaxLOS' + SET_FORWARD_MAX_STAY='SetForwardMaxStay' + + +class MinMaxMessageTypeType495(str, Enum): + SET_MIN_LOS='SetMinLOS' + SET_MAX_LOS='SetMaxLOS' + _='' + + +class MinMaxMessageTypeType771(str, Enum): + SET_MIN_LOS='SetMinLOS' + SET_FORWARD_MIN_STAY='SetForwardMinStay' + SET_MAX_LOS='SetMaxLOS' + SET_FORWARD_MAX_STAY='SetForwardMaxStay' + + +class MinMaxMessageTypeType814(str, Enum): + SET_MIN_LOS='SetMinLOS' + SET_MAX_LOS='SetMaxLOS' + _='' + + +class NameType(str, Enum): + TITLE='Title' + CATEGORY='Category' + GALLERY='Gallery' + DESCRIPTION='Description' + + +class NameType143(str, Enum): + INCLUDEDSERVICES='included services' + CUSTOMERCOMMENT='customer comment' + ADDITIONALINFO='additional info' + + +class NameType36(str, Enum): + INCLUDEDSERVICES='included services' + CUSTOMERCOMMENT='customer comment' + ADDITIONALINFO='additional info' + + +class NameType409(str, Enum): + INCLUDEDSERVICES='included services' + + +class NameType419(str, Enum): + TITLE='title' + INTRO='intro' + DESCRIPTION='description' + GALLERY='gallery' + CODELIST='codelist' + + +class NameType432(str, Enum): + TITLE='title' + INTRO='intro' + DESCRIPTION='description' + GALLERY='gallery' + CODELIST='codelist' + + +class NameType470(str, Enum): + INCLUDEDSERVICES='included services' + + +class NameType484(str, Enum): + TITLE='title' + INTRO='intro' + DESCRIPTION='description' + GALLERY='gallery' + CODELIST='codelist' + + +class NameType513(str, Enum): + TITLE='title' + INTRO='intro' + DESCRIPTION='description' + GALLERY='gallery' + CODELIST='codelist' + + +class NameType594(str, Enum): + INCLUDEDSERVICES='included services' + CUSTOMERCOMMENT='customer comment' + ADDITIONALINFO='additional info' + + +class NameType789(str, Enum): + INCLUDEDSERVICES='included services' + + +class NameType803(str, Enum): + TITLE='title' + INTRO='intro' + DESCRIPTION='description' + GALLERY='gallery' + CODELIST='codelist' + + +class NameType832(str, Enum): + TITLE='title' + INTRO='intro' + DESCRIPTION='description' + GALLERY='gallery' + CODELIST='codelist' + + +class PercentType(str, Enum): + _1_00='100' + + +class PercentType504(str, Enum): + _1_00='100' + + +class PercentType823(str, Enum): + _1_00='100' + + +class ProfileTypeType(str, Enum): + _4='4' + + +class ProfileTypeType181(str, Enum): + _4='4' + + +class ProfileTypeType632(str, Enum): + _4='4' + + +class RatePlanNotifTypeType(str, Enum): + OVERLAY='Overlay' + NEW='New' + FULL='Full' + REMOVE='Remove' + + +class RatePlanNotifTypeType514(str, Enum): + OVERLAY='Overlay' + NEW='New' + FULL='Full' + REMOVE='Remove' + + +class RatePlanNotifTypeType833(str, Enum): + OVERLAY='Overlay' + NEW='New' + FULL='Full' + REMOVE='Remove' + + +class RatePlanTypeType(str, Enum): + _1_2='12' + + +class RatePlanTypeType515(str, Enum): + _1_2='12' + + +class RatePlanTypeType834(str, Enum): + _1_2='12' + + +class RateTimeUnitType(str, Enum): + DAY='Day' + + +class RateTimeUnitType413(str, Enum): + DAY='Day' + + +class RateTimeUnitType474(str, Enum): + DAY='Day' + + +class RateTimeUnitType536(str, Enum): + DAY='Day' + + +class RateTimeUnitType793(str, Enum): + DAY='Day' + + +class RateTimeUnitType85(str, Enum): + DAY='Day' + + +class ResStatusType(str, Enum): + REQUESTED='Requested' + RESERVED='Reserved' + CANCELLED='Cancelled' + MODIFY='Modify' + + +class ResStatusType183(str, Enum): + REQUESTED='Requested' + RESERVED='Reserved' + CANCELLED='Cancelled' + MODIFY='Modify' + + +class ResStatusType634(str, Enum): + REQUESTED='Requested' + RESERVED='Reserved' + CANCELLED='Cancelled' + MODIFY='Modify' + + +class RestrictionType(str, Enum): + MASTER='Master' + + +class RestrictionType457(str, Enum): + MASTER='Master' + + +class RestrictionType776(str, Enum): + MASTER='Master' + + +class RoomTypeType18(str, Enum): + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + + +class RoomTypeType208(str, Enum): + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + + +class RoomTypeType309(str, Enum): + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + + +class RoomTypeType523(str, Enum): + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + + +class RoomTypeType677(str, Enum): + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + + +class RoomTypeType72(str, Enum): + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + + +class ServiceCategoryCodeType(str, Enum): + BOARD='BOARD' + SUPPLEMENT='SUPPLEMENT' + SPA='SPA' + FOOD='FOOD' + BEVERAGE='BEVERAGE' + ACTIVITY='ACTIVITY' + TOURISTTAX='TOURISTTAX' + TRANSFER='TRANSFER' + OTHER='OTHER' + + +class ServiceCategoryCodeType117(str, Enum): + BOARD='BOARD' + SUPPLEMENT='SUPPLEMENT' + SPA='SPA' + FOOD='FOOD' + BEVERAGE='BEVERAGE' + ACTIVITY='ACTIVITY' + TOURISTTAX='TOURISTTAX' + TRANSFER='TRANSFER' + OTHER='OTHER' + + +class ServiceCategoryCodeType568(str, Enum): + BOARD='BOARD' + SUPPLEMENT='SUPPLEMENT' + SPA='SPA' + FOOD='FOOD' + BEVERAGE='BEVERAGE' + ACTIVITY='ACTIVITY' + TOURISTTAX='TOURISTTAX' + TRANSFER='TRANSFER' + OTHER='OTHER' + + +class ServicePricingTypeType(str, Enum): + PERNIGHT='Per night' + PERPERSON='Per person' + PERPERSONPERNIGHT='Per person per night' + PERSTAY='Per stay' + PERUSE='Per use' + + +class ServicePricingTypeType119(str, Enum): + PERNIGHT='Per night' + PERPERSON='Per person' + PERPERSONPERNIGHT='Per person per night' + PERSTAY='Per stay' + PERUSE='Per use' + + +class ServicePricingTypeType570(str, Enum): + PERNIGHT='Per night' + PERPERSON='Per person' + PERPERSONPERNIGHT='Per person per night' + PERSTAY='Per stay' + PERUSE='Per use' + + +class StatusType(str, Enum): + ALPINEBITS_HANDSHAKE='ALPINEBITS_HANDSHAKE' + + +class StatusType1(str, Enum): + ALPINEBITS_HANDSHAKE='ALPINEBITS_HANDSHAKE' + + +class StatusType402(str, Enum): + OPEN='Open' + CLOSE='Close' + + +class StatusType458(str, Enum): + OPEN='Open' + CLOSE='Close' + + +class StatusType777(str, Enum): + OPEN='Open' + CLOSE='Close' + + +class StayContextType(str, Enum): + CHECKIN='Checkin' + CHECKOUT='Checkout' + + +class StayContextType373(str, Enum): + CHECKIN='Checkin' + CHECKOUT='Checkout' + + +class StayContextType741(str, Enum): + CHECKIN='Checkin' + CHECKOUT='Checkout' + + +class TextFormatType(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType111(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType115(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType147(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType195(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType198(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType203(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType214(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType220(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType226(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType230(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType234(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType237(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType27(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType278(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType286(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType294(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType317(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType323(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType332(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType338(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType344(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType350(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType38(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType417(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType430(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType482(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType511(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType562(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType566(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType598(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType646(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType654(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType662(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType685(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType691(str, Enum): + PLAIN_TEXT='PlainText' + + +class TextFormatType700(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType706(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType712(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType718(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType801(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TextFormatType830(str, Enum): + PLAIN_TEXT='PlainText' + HTML='HTML' + + +class TimeUnitType(str, Enum): + """TimeUnitType -- Defines the unit in which the time is expressed (e.g. year, day, hour). + + """ + YEAR='Year' + MONTH='Month' + WEEK='Week' + DAY='Day' + HOUR='Hour' + SECOND='Second' + FULL_DURATION='FullDuration' + MINUTE='Minute' + + +class TimeUnitType401(str, Enum): + DAY='Day' + + +class TimeUnitType423(str, Enum): + DAY='Day' + + +class TimeUnitType451(str, Enum): + DAY='Day' + + +class TimeUnitType494(str, Enum): + DAY='Day' + + +class TimeUnitType770(str, Enum): + DAY='Day' + + +class TimeUnitType813(str, Enum): + DAY='Day' + + +class TypeType(str, Enum): + _1_1='11' + _1_3='13' + + +class TypeType10(str, Enum): + _1_6='16' + _3_5='35' + + +class TypeType116(str, Enum): + _1_6='16' + + +class TypeType13(str, Enum): + _1_1='11' + _1_3='13' + + +class TypeType17(str, Enum): + _1_4='14' + _1_5='15' + + +class TypeType189(str, Enum): + _1_4='14' + _1_5='15' + + +class TypeType192(str, Enum): + _1_1='11' + _1_3='13' + + +class TypeType2(str, Enum): + _1_8='18' + + +class TypeType259(str, Enum): + _1_1='11' + _1_3='13' + + +class TypeType264(str, Enum): + _1_1='11' + _1_3='13' + + +class TypeType28(str, Enum): + _1_6='16' + + +class TypeType3(str, Enum): + IMAGE='Image' + + +class TypeType397(str, Enum): + _1_6='16' + + +class TypeType406(str, Enum): + _7='7' + _2_5='25' + + +class TypeType435(str, Enum): + _1_1='11' + _1_3='13' + + +class TypeType442(str, Enum): + _1_1='11' + _1_3='13' + + +class TypeType464(str, Enum): + _7='7' + _2_5='25' + + +class TypeType518(str, Enum): + _1_4='14' + _1_5='15' + + +class TypeType53(str, Enum): + _1_1='11' + _1_3='13' + + +class TypeType567(str, Enum): + _1_6='16' + + +class TypeType59(str, Enum): + _1_4='14' + _1_5='15' + + +class TypeType62(str, Enum): + _1_1='11' + _1_3='13' + + +class TypeType67(str, Enum): + _1_4='14' + _1_5='15' + + +class TypeType7(str, Enum): + _1_1='11' + _1_3='13' + + +class TypeType783(str, Enum): + _7='7' + _2_5='25' + + +class TypeType837(str, Enum): + _1_1='11' + _1_3='13' + + +class def_send_complete(str, Enum): + ALPINEBITS_SEND_HANDSHAKE='ALPINEBITS_SEND_HANDSHAKE' + ALPINEBITS_SEND_FREEROOMS='ALPINEBITS_SEND_FREEROOMS' + ALPINEBITS_SEND_RATEPLANS='ALPINEBITS_SEND_RATEPLANS' + ALPINEBITS_SEND_INVENTORY='ALPINEBITS_SEND_INVENTORY' + + +# +# Start data representation classes +# +class OTA_PingRQ(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, EchoData=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.EchoData = EchoData + self.validate_def_nonempty_string(self.EchoData) + self.EchoData_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_PingRQ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_PingRQ.subclass: + return OTA_PingRQ.subclass(*args_, **kwargs_) + else: + return OTA_PingRQ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EchoData(self): + return self.EchoData + def set_EchoData(self, EchoData): + self.EchoData = EchoData + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.EchoData is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRQ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_PingRQ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_PingRQ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_PingRQ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_PingRQ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_PingRQ'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRQ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.EchoData is not None: + namespaceprefix_ = self.EchoData_nsprefix_ + ':' if (UseCapturedNS_ and self.EchoData_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sEchoData>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.EchoData), input_name='EchoData')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EchoData': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'EchoData') + value_ = self.gds_validate_string(value_, node, 'EchoData') + self.EchoData = value_ + self.EchoData_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.EchoData) +# end class OTA_PingRQ + + +class OTA_PingRS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, EchoData=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Errors = Errors + self.Errors_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + self.EchoData = EchoData + self.validate_def_nonempty_string(self.EchoData) + self.EchoData_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_PingRS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_PingRS.subclass: + return OTA_PingRS.subclass(*args_, **kwargs_) + else: + return OTA_PingRS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Errors(self): + return self.Errors + def set_Errors(self, Errors): + self.Errors = Errors + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_EchoData(self): + return self.EchoData + def set_EchoData(self, EchoData): + self.EchoData = EchoData + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Errors is not None or + self.Success is not None or + self.Warnings is not None or + self.EchoData is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_PingRS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_PingRS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_PingRS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_PingRS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_PingRS'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Errors is not None: + namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' + self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + if self.EchoData is not None: + namespaceprefix_ = self.EchoData_nsprefix_ + ':' if (UseCapturedNS_ and self.EchoData_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sEchoData>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.EchoData), input_name='EchoData')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Errors': + obj_ = ErrorsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Errors = obj_ + obj_.original_tagname_ = 'Errors' + elif nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' + elif nodeName_ == 'EchoData': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'EchoData') + value_ = self.gds_validate_string(value_, node, 'EchoData') + self.EchoData = value_ + self.EchoData_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.EchoData) +# end class OTA_PingRS + + +class Success(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Success) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Success.subclass: + return Success.subclass(*args_, **kwargs_) + else: + return Success(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Success', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Success') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Success': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Success') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Success', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='Success'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Success', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Success + + +class OTA_HotelPostEventNotifRQ(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, EventReports=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.EventReports = EventReports + self.EventReports_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelPostEventNotifRQ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelPostEventNotifRQ.subclass: + return OTA_HotelPostEventNotifRQ.subclass(*args_, **kwargs_) + else: + return OTA_HotelPostEventNotifRQ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EventReports(self): + return self.EventReports + def set_EventReports(self, EventReports): + self.EventReports = EventReports + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def has__content(self): + if ( + self.EventReports is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRQ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelPostEventNotifRQ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelPostEventNotifRQ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelPostEventNotifRQ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelPostEventNotifRQ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelPostEventNotifRQ'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRQ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.EventReports is not None: + namespaceprefix_ = self.EventReports_nsprefix_ + ':' if (UseCapturedNS_ and self.EventReports_nsprefix_) else '' + self.EventReports.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventReports', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EventReports': + obj_ = EventReportsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EventReports = obj_ + obj_.original_tagname_ = 'EventReports' +# end class OTA_HotelPostEventNotifRQ + + +class OTA_HotelPostEventNotifRS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Errors = Errors + self.Errors_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelPostEventNotifRS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelPostEventNotifRS.subclass: + return OTA_HotelPostEventNotifRS.subclass(*args_, **kwargs_) + else: + return OTA_HotelPostEventNotifRS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Errors(self): + return self.Errors + def set_Errors(self, Errors): + self.Errors = Errors + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.Errors is not None or + self.Success is not None or + self.Warnings is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelPostEventNotifRS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelPostEventNotifRS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelPostEventNotifRS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelPostEventNotifRS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelPostEventNotifRS'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Errors is not None: + namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' + self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Errors': + obj_ = ErrorsType5.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Errors = obj_ + obj_.original_tagname_ = 'Errors' + elif nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType8.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' +# end class OTA_HotelPostEventNotifRS + + +class OTA_HotelInvCountNotifRQ(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, UniqueID=None, Inventories=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.UniqueID = UniqueID + self.UniqueID_nsprefix_ = None + self.Inventories = Inventories + self.Inventories_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelInvCountNotifRQ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelInvCountNotifRQ.subclass: + return OTA_HotelInvCountNotifRQ.subclass(*args_, **kwargs_) + else: + return OTA_HotelInvCountNotifRQ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_UniqueID(self): + return self.UniqueID + def set_UniqueID(self, UniqueID): + self.UniqueID = UniqueID + def get_Inventories(self): + return self.Inventories + def set_Inventories(self, Inventories): + self.Inventories = Inventories + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def has__content(self): + if ( + self.UniqueID is not None or + self.Inventories is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRQ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelInvCountNotifRQ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelInvCountNotifRQ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelInvCountNotifRQ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelInvCountNotifRQ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelInvCountNotifRQ'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRQ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.UniqueID is not None: + namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' + self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) + if self.Inventories is not None: + namespaceprefix_ = self.Inventories_nsprefix_ + ':' if (UseCapturedNS_ and self.Inventories_nsprefix_) else '' + self.Inventories.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Inventories', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'UniqueID': + obj_ = UniqueIDType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.UniqueID = obj_ + obj_.original_tagname_ = 'UniqueID' + elif nodeName_ == 'Inventories': + obj_ = InventoriesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Inventories = obj_ + obj_.original_tagname_ = 'Inventories' +# end class OTA_HotelInvCountNotifRQ + + +class OTA_HotelInvCountNotifRS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Errors = Errors + self.Errors_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelInvCountNotifRS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelInvCountNotifRS.subclass: + return OTA_HotelInvCountNotifRS.subclass(*args_, **kwargs_) + else: + return OTA_HotelInvCountNotifRS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Errors(self): + return self.Errors + def set_Errors(self, Errors): + self.Errors = Errors + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.Errors is not None or + self.Success is not None or + self.Warnings is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelInvCountNotifRS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelInvCountNotifRS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelInvCountNotifRS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelInvCountNotifRS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelInvCountNotifRS'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Errors is not None: + namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' + self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Errors': + obj_ = ErrorsType11.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Errors = obj_ + obj_.original_tagname_ = 'Errors' + elif nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType14.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' +# end class OTA_HotelInvCountNotifRS + + +class OTA_HotelResNotifRQ(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, HotelReservations=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.HotelReservations = HotelReservations + self.HotelReservations_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelResNotifRQ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelResNotifRQ.subclass: + return OTA_HotelResNotifRQ.subclass(*args_, **kwargs_) + else: + return OTA_HotelResNotifRQ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelReservations(self): + return self.HotelReservations + def set_HotelReservations(self, HotelReservations): + self.HotelReservations = HotelReservations + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.HotelReservations is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRQ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelResNotifRQ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelResNotifRQ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelResNotifRQ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelResNotifRQ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelResNotifRQ'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRQ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelReservations is not None: + namespaceprefix_ = self.HotelReservations_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservations_nsprefix_) else '' + self.HotelReservations.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservations', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelReservations': + obj_ = HotelReservationsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservations = obj_ + obj_.original_tagname_ = 'HotelReservations' +# end class OTA_HotelResNotifRQ + + +class OTA_HotelResNotifRS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, HotelReservations=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Errors = Errors + self.Errors_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + self.HotelReservations = HotelReservations + self.HotelReservations_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelResNotifRS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelResNotifRS.subclass: + return OTA_HotelResNotifRS.subclass(*args_, **kwargs_) + else: + return OTA_HotelResNotifRS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Errors(self): + return self.Errors + def set_Errors(self, Errors): + self.Errors = Errors + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_HotelReservations(self): + return self.HotelReservations + def set_HotelReservations(self, HotelReservations): + self.HotelReservations = HotelReservations + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.Errors is not None or + self.Success is not None or + self.Warnings is not None or + self.HotelReservations is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelResNotifRS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelResNotifRS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelResNotifRS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelResNotifRS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelResNotifRS'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Errors is not None: + namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' + self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + if self.HotelReservations is not None: + namespaceprefix_ = self.HotelReservations_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservations_nsprefix_) else '' + self.HotelReservations.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservations', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Errors': + obj_ = ErrorsType51.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Errors = obj_ + obj_.original_tagname_ = 'Errors' + elif nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType54.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' + elif nodeName_ == 'HotelReservations': + obj_ = HotelReservationsType56.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservations = obj_ + obj_.original_tagname_ = 'HotelReservations' +# end class OTA_HotelResNotifRS + + +class OTA_ReadRQ(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, ReadRequests=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.ReadRequests = ReadRequests + self.ReadRequests_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_ReadRQ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_ReadRQ.subclass: + return OTA_ReadRQ.subclass(*args_, **kwargs_) + else: + return OTA_ReadRQ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ReadRequests(self): + return self.ReadRequests + def set_ReadRequests(self, ReadRequests): + self.ReadRequests = ReadRequests + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.ReadRequests is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ReadRQ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_ReadRQ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_ReadRQ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_ReadRQ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_ReadRQ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_ReadRQ'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ReadRQ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ReadRequests is not None: + namespaceprefix_ = self.ReadRequests_nsprefix_ + ':' if (UseCapturedNS_ and self.ReadRequests_nsprefix_) else '' + self.ReadRequests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ReadRequests', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ReadRequests': + obj_ = ReadRequestsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ReadRequests = obj_ + obj_.original_tagname_ = 'ReadRequests' +# end class OTA_ReadRQ + + +class OTA_ResRetrieveRS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, ReservationsList=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Errors = Errors + self.Errors_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + self.ReservationsList = ReservationsList + self.ReservationsList_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_ResRetrieveRS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_ResRetrieveRS.subclass: + return OTA_ResRetrieveRS.subclass(*args_, **kwargs_) + else: + return OTA_ResRetrieveRS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Errors(self): + return self.Errors + def set_Errors(self, Errors): + self.Errors = Errors + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_ReservationsList(self): + return self.ReservationsList + def set_ReservationsList(self, ReservationsList): + self.ReservationsList = ReservationsList + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.Errors is not None or + self.Success is not None or + self.Warnings is not None or + self.ReservationsList is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ResRetrieveRS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_ResRetrieveRS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_ResRetrieveRS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_ResRetrieveRS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_ResRetrieveRS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_ResRetrieveRS'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ResRetrieveRS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Errors is not None: + namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' + self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + if self.ReservationsList is not None: + namespaceprefix_ = self.ReservationsList_nsprefix_ + ':' if (UseCapturedNS_ and self.ReservationsList_nsprefix_) else '' + self.ReservationsList.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ReservationsList', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Errors': + obj_ = ErrorsType60.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Errors = obj_ + obj_.original_tagname_ = 'Errors' + elif nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType63.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' + elif nodeName_ == 'ReservationsList': + obj_ = ReservationsListType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ReservationsList = obj_ + obj_.original_tagname_ = 'ReservationsList' +# end class OTA_ResRetrieveRS + + +class OTA_NotifReportRQ(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Success=None, Warnings=None, NotifDetails=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + self.NotifDetails = NotifDetails + self.NotifDetails_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_NotifReportRQ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_NotifReportRQ.subclass: + return OTA_NotifReportRQ.subclass(*args_, **kwargs_) + else: + return OTA_NotifReportRQ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_NotifDetails(self): + return self.NotifDetails + def set_NotifDetails(self, NotifDetails): + self.NotifDetails = NotifDetails + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.Success is not None or + self.Warnings is not None or + self.NotifDetails is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRQ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_NotifReportRQ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_NotifReportRQ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_NotifReportRQ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_NotifReportRQ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_NotifReportRQ'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRQ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + if self.NotifDetails is not None: + namespaceprefix_ = self.NotifDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.NotifDetails_nsprefix_) else '' + self.NotifDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NotifDetails', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType184.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' + elif nodeName_ == 'NotifDetails': + obj_ = NotifDetailsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NotifDetails = obj_ + obj_.original_tagname_ = 'NotifDetails' +# end class OTA_NotifReportRQ + + +class OTA_NotifReportRS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Errors = Errors + self.Errors_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_NotifReportRS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_NotifReportRS.subclass: + return OTA_NotifReportRS.subclass(*args_, **kwargs_) + else: + return OTA_NotifReportRS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Errors(self): + return self.Errors + def set_Errors(self, Errors): + self.Errors = Errors + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.Errors is not None or + self.Success is not None or + self.Warnings is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_NotifReportRS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_NotifReportRS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_NotifReportRS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_NotifReportRS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_NotifReportRS'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Errors is not None: + namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' + self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Errors': + obj_ = ErrorsType190.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Errors = obj_ + obj_.original_tagname_ = 'Errors' + elif nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType193.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' +# end class OTA_NotifReportRS + + +class OTA_HotelDescriptiveContentNotifRQ(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, HotelDescriptiveContents=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.HotelDescriptiveContents = HotelDescriptiveContents + self.HotelDescriptiveContents_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelDescriptiveContentNotifRQ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelDescriptiveContentNotifRQ.subclass: + return OTA_HotelDescriptiveContentNotifRQ.subclass(*args_, **kwargs_) + else: + return OTA_HotelDescriptiveContentNotifRQ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelDescriptiveContents(self): + return self.HotelDescriptiveContents + def set_HotelDescriptiveContents(self, HotelDescriptiveContents): + self.HotelDescriptiveContents = HotelDescriptiveContents + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.HotelDescriptiveContents is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRQ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveContentNotifRQ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveContentNotifRQ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveContentNotifRQ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveContentNotifRQ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveContentNotifRQ'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRQ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelDescriptiveContents is not None: + namespaceprefix_ = self.HotelDescriptiveContents_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContents_nsprefix_) else '' + self.HotelDescriptiveContents.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContents', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelDescriptiveContents': + obj_ = HotelDescriptiveContentsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelDescriptiveContents = obj_ + obj_.original_tagname_ = 'HotelDescriptiveContents' +# end class OTA_HotelDescriptiveContentNotifRQ + + +class OTA_HotelDescriptiveContentNotifRS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Errors = Errors + self.Errors_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelDescriptiveContentNotifRS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelDescriptiveContentNotifRS.subclass: + return OTA_HotelDescriptiveContentNotifRS.subclass(*args_, **kwargs_) + else: + return OTA_HotelDescriptiveContentNotifRS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Errors(self): + return self.Errors + def set_Errors(self, Errors): + self.Errors = Errors + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.Errors is not None or + self.Success is not None or + self.Warnings is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveContentNotifRS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveContentNotifRS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveContentNotifRS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveContentNotifRS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveContentNotifRS'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Errors is not None: + namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' + self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Errors': + obj_ = ErrorsType257.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Errors = obj_ + obj_.original_tagname_ = 'Errors' + elif nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType260.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' +# end class OTA_HotelDescriptiveContentNotifRS + + +class OTA_HotelDescriptiveInfoRQ(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, HotelDescriptiveInfos=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.HotelDescriptiveInfos = HotelDescriptiveInfos + self.HotelDescriptiveInfos_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelDescriptiveInfoRQ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelDescriptiveInfoRQ.subclass: + return OTA_HotelDescriptiveInfoRQ.subclass(*args_, **kwargs_) + else: + return OTA_HotelDescriptiveInfoRQ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelDescriptiveInfos(self): + return self.HotelDescriptiveInfos + def set_HotelDescriptiveInfos(self, HotelDescriptiveInfos): + self.HotelDescriptiveInfos = HotelDescriptiveInfos + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.HotelDescriptiveInfos is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRQ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveInfoRQ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveInfoRQ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveInfoRQ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveInfoRQ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveInfoRQ'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRQ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelDescriptiveInfos is not None: + namespaceprefix_ = self.HotelDescriptiveInfos_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveInfos_nsprefix_) else '' + self.HotelDescriptiveInfos.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveInfos', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelDescriptiveInfos': + obj_ = HotelDescriptiveInfosType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelDescriptiveInfos = obj_ + obj_.original_tagname_ = 'HotelDescriptiveInfos' +# end class OTA_HotelDescriptiveInfoRQ + + +class OTA_HotelDescriptiveInfoRS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, HotelDescriptiveContents=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Errors = Errors + self.Errors_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + self.HotelDescriptiveContents = HotelDescriptiveContents + self.HotelDescriptiveContents_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelDescriptiveInfoRS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelDescriptiveInfoRS.subclass: + return OTA_HotelDescriptiveInfoRS.subclass(*args_, **kwargs_) + else: + return OTA_HotelDescriptiveInfoRS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Errors(self): + return self.Errors + def set_Errors(self, Errors): + self.Errors = Errors + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_HotelDescriptiveContents(self): + return self.HotelDescriptiveContents + def set_HotelDescriptiveContents(self, HotelDescriptiveContents): + self.HotelDescriptiveContents = HotelDescriptiveContents + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.Errors is not None or + self.Success is not None or + self.Warnings is not None or + self.HotelDescriptiveContents is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveInfoRS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveInfoRS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveInfoRS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveInfoRS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveInfoRS'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Errors is not None: + namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' + self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + if self.HotelDescriptiveContents is not None: + namespaceprefix_ = self.HotelDescriptiveContents_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContents_nsprefix_) else '' + self.HotelDescriptiveContents.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContents', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Errors': + obj_ = ErrorsType262.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Errors = obj_ + obj_.original_tagname_ = 'Errors' + elif nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType265.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' + elif nodeName_ == 'HotelDescriptiveContents': + obj_ = HotelDescriptiveContentsType267.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelDescriptiveContents = obj_ + obj_.original_tagname_ = 'HotelDescriptiveContents' +# end class OTA_HotelDescriptiveInfoRS + + +class OTA_HotelRatePlanNotifRQ(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, UniqueID=None, RatePlans=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.UniqueID = UniqueID + self.UniqueID_nsprefix_ = None + self.RatePlans = RatePlans + self.RatePlans_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelRatePlanNotifRQ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelRatePlanNotifRQ.subclass: + return OTA_HotelRatePlanNotifRQ.subclass(*args_, **kwargs_) + else: + return OTA_HotelRatePlanNotifRQ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_UniqueID(self): + return self.UniqueID + def set_UniqueID(self, UniqueID): + self.UniqueID = UniqueID + def get_RatePlans(self): + return self.RatePlans + def set_RatePlans(self, RatePlans): + self.RatePlans = RatePlans + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.UniqueID is not None or + self.RatePlans is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRQ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanNotifRQ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanNotifRQ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanNotifRQ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanNotifRQ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanNotifRQ'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRQ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.UniqueID is not None: + namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' + self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) + if self.RatePlans is not None: + namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' + self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'UniqueID': + obj_ = UniqueIDType396.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.UniqueID = obj_ + obj_.original_tagname_ = 'UniqueID' + elif nodeName_ == 'RatePlans': + obj_ = RatePlansType399.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlans = obj_ + obj_.original_tagname_ = 'RatePlans' +# end class OTA_HotelRatePlanNotifRQ + + +class OTA_HotelRatePlanNotifRS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Errors = Errors + self.Errors_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelRatePlanNotifRS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelRatePlanNotifRS.subclass: + return OTA_HotelRatePlanNotifRS.subclass(*args_, **kwargs_) + else: + return OTA_HotelRatePlanNotifRS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Errors(self): + return self.Errors + def set_Errors(self, Errors): + self.Errors = Errors + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.Errors is not None or + self.Success is not None or + self.Warnings is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanNotifRS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanNotifRS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanNotifRS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanNotifRS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanNotifRS'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Errors is not None: + namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' + self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Errors': + obj_ = ErrorsType433.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Errors = obj_ + obj_.original_tagname_ = 'Errors' + elif nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType436.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' +# end class OTA_HotelRatePlanNotifRS + + +class OTA_HotelRatePlanRQ(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, RatePlans=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.RatePlans = RatePlans + self.RatePlans_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelRatePlanRQ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelRatePlanRQ.subclass: + return OTA_HotelRatePlanRQ.subclass(*args_, **kwargs_) + else: + return OTA_HotelRatePlanRQ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RatePlans(self): + return self.RatePlans + def set_RatePlans(self, RatePlans): + self.RatePlans = RatePlans + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.RatePlans is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRQ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanRQ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanRQ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanRQ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanRQ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanRQ'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRQ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RatePlans is not None: + namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' + self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RatePlans': + obj_ = RatePlansType438.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlans = obj_ + obj_.original_tagname_ = 'RatePlans' +# end class OTA_HotelRatePlanRQ + + +class OTA_HotelRatePlanRS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, RatePlans=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Version = _cast(None, Version) + self.Version_nsprefix_ = None + self.TimeStamp = _cast(None, TimeStamp) + self.TimeStamp_nsprefix_ = None + self.Errors = Errors + self.Errors_nsprefix_ = None + self.Success = Success + self.Success_nsprefix_ = None + self.Warnings = Warnings + self.Warnings_nsprefix_ = None + self.RatePlans = RatePlans + self.RatePlans_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OTA_HotelRatePlanRS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OTA_HotelRatePlanRS.subclass: + return OTA_HotelRatePlanRS.subclass(*args_, **kwargs_) + else: + return OTA_HotelRatePlanRS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Errors(self): + return self.Errors + def set_Errors(self, Errors): + self.Errors = Errors + def get_Success(self): + return self.Success + def set_Success(self, Success): + self.Success = Success + def get_Warnings(self): + return self.Warnings + def set_Warnings(self, Warnings): + self.Warnings = Warnings + def get_RatePlans(self): + return self.RatePlans + def set_RatePlans(self, RatePlans): + self.RatePlans = RatePlans + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_TimeStamp(self): + return self.TimeStamp + def set_TimeStamp(self, TimeStamp): + self.TimeStamp = TimeStamp + def has__content(self): + if ( + self.Errors is not None or + self.Success is not None or + self.Warnings is not None or + self.RatePlans is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanRS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanRS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanRS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanRS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanRS'): + if self.Version is not None and 'Version' not in already_processed: + already_processed.add('Version') + outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) + if self.TimeStamp is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Errors is not None: + namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' + self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) + if self.Success is not None: + namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) + if self.Warnings is not None: + namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' + self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) + if self.RatePlans is not None: + namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' + self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Version', node) + if value is not None and 'Version' not in already_processed: + already_processed.add('Version') + self.Version = value + value = find_attr_value_('TimeStamp', node) + if value is not None and 'TimeStamp' not in already_processed: + already_processed.add('TimeStamp') + self.TimeStamp = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Errors': + obj_ = ErrorsType440.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Errors = obj_ + obj_.original_tagname_ = 'Errors' + elif nodeName_ == 'Success': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Success') + value_ = self.gds_validate_string(value_, node, 'Success') + self.Success = value_ + self.Success_nsprefix_ = child_.prefix + elif nodeName_ == 'Warnings': + obj_ = WarningsType443.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warnings = obj_ + obj_.original_tagname_ = 'Warnings' + elif nodeName_ == 'RatePlans': + obj_ = RatePlansType445.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlans = obj_ + obj_.original_tagname_ = 'RatePlans' +# end class OTA_HotelRatePlanRS + + +class ErrorsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType.subclass: + return ErrorsType.subclass(*args_, **kwargs_) + else: + return ErrorsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType + + +class ErrorType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType.subclass: + return ErrorType.subclass(*args_, **kwargs_) + else: + return ErrorType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType(self, value): + # Validate type TypeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StatusType(self, value): + # Validate type StatusType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_HANDSHAKE'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType(self.Type) # validate type TypeType + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_StatusType(self.Status) # validate type StatusType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType + + +class WarningsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType.subclass: + return WarningsType.subclass(*args_, **kwargs_) + else: + return WarningsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType + + +class WarningType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType.subclass: + return WarningType.subclass(*args_, **kwargs_) + else: + return WarningType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StatusType1(self, value): + # Validate type StatusType1, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_HANDSHAKE'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType1' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_StatusType1(self.Status) # validate type StatusType1 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType + + +class EventReportsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EventReport=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if EventReport is None: + self.EventReport = [] + else: + self.EventReport = EventReport + self.EventReport_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EventReportsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EventReportsType.subclass: + return EventReportsType.subclass(*args_, **kwargs_) + else: + return EventReportsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EventReport(self): + return self.EventReport + def set_EventReport(self, EventReport): + self.EventReport = EventReport + def add_EventReport(self, value): + self.EventReport.append(value) + def insert_EventReport_at(self, index, value): + self.EventReport.insert(index, value) + def replace_EventReport_at(self, index, value): + self.EventReport[index] = value + def has__content(self): + if ( + self.EventReport + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventReportsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EventReportsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventReportsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventReportsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventReportsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for EventReport_ in self.EventReport: + namespaceprefix_ = self.EventReport_nsprefix_ + ':' if (UseCapturedNS_ and self.EventReport_nsprefix_) else '' + EventReport_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventReport', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EventReport': + obj_ = EventReportType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EventReport.append(obj_) + obj_.original_tagname_ = 'EventReport' +# end class EventReportsType + + +class EventReportType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EventSites=None, GeneralEventInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EventSites = EventSites + self.EventSites_nsprefix_ = None + self.GeneralEventInfo = GeneralEventInfo + self.GeneralEventInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EventReportType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EventReportType.subclass: + return EventReportType.subclass(*args_, **kwargs_) + else: + return EventReportType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EventSites(self): + return self.EventSites + def set_EventSites(self, EventSites): + self.EventSites = EventSites + def get_GeneralEventInfo(self): + return self.GeneralEventInfo + def set_GeneralEventInfo(self, GeneralEventInfo): + self.GeneralEventInfo = GeneralEventInfo + def has__content(self): + if ( + self.EventSites is not None or + self.GeneralEventInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventReportType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EventReportType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventReportType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventReportType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventReportType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.EventSites is not None: + namespaceprefix_ = self.EventSites_nsprefix_ + ':' if (UseCapturedNS_ and self.EventSites_nsprefix_) else '' + self.EventSites.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventSites', pretty_print=pretty_print) + if self.GeneralEventInfo is not None: + namespaceprefix_ = self.GeneralEventInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.GeneralEventInfo_nsprefix_) else '' + self.GeneralEventInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GeneralEventInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EventSites': + obj_ = EventSitesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EventSites = obj_ + obj_.original_tagname_ = 'EventSites' + elif nodeName_ == 'GeneralEventInfo': + obj_ = GeneralEventInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GeneralEventInfo = obj_ + obj_.original_tagname_ = 'GeneralEventInfo' +# end class EventReportType + + +class EventSitesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EventSite=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EventSite = EventSite + self.EventSite_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EventSitesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EventSitesType.subclass: + return EventSitesType.subclass(*args_, **kwargs_) + else: + return EventSitesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EventSite(self): + return self.EventSite + def set_EventSite(self, EventSite): + self.EventSite = EventSite + def has__content(self): + if ( + self.EventSite is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSitesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventSitesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EventSitesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventSitesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventSitesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventSitesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSitesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.EventSite is not None: + namespaceprefix_ = self.EventSite_nsprefix_ + ':' if (UseCapturedNS_ and self.EventSite_nsprefix_) else '' + self.EventSite.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventSite', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EventSite': + obj_ = EventSiteType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EventSite = obj_ + obj_.original_tagname_ = 'EventSite' +# end class EventSitesType + + +class EventSiteType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, Event_ID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + self.Event_ID = Event_ID + self.Event_ID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EventSiteType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EventSiteType.subclass: + return EventSiteType.subclass(*args_, **kwargs_) + else: + return EventSiteType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Event_ID(self): + return self.Event_ID + def set_Event_ID(self, Event_ID): + self.Event_ID = Event_ID + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_def_one_to_sixteen_chars_string(self, value): + # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Event_ID is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSiteType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventSiteType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EventSiteType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventSiteType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventSiteType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventSiteType'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSiteType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Event_ID is not None: + namespaceprefix_ = self.Event_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.Event_ID_nsprefix_) else '' + self.Event_ID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Event_ID', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_def_one_to_sixteen_chars_string(self.HotelCode) # validate type def_one_to_sixteen_chars_string + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Event_ID': + obj_ = Event_IDType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Event_ID = obj_ + obj_.original_tagname_ = 'Event_ID' +# end class EventSiteType + + +class Event_IDType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID=None, ID_Context=None, Type=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.ID_Context = _cast(None, ID_Context) + self.ID_Context_nsprefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Event_IDType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Event_IDType.subclass: + return Event_IDType.subclass(*args_, **kwargs_) + else: + return Event_IDType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def get_ID_Context(self): + return self.ID_Context + def set_ID_Context(self, ID_Context): + self.ID_Context = ID_Context + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_TypeType2(self, value): + # Validate type TypeType2, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['18'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType2' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Event_IDType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Event_IDType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Event_IDType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Event_IDType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Event_IDType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='Event_IDType'): + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + if self.ID_Context is not None and 'ID_Context' not in already_processed: + already_processed.add('ID_Context') + outfile.write(' ID_Context=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID_Context), input_name='ID_Context')), )) + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Event_IDType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 + value = find_attr_value_('ID_Context', node) + if value is not None and 'ID_Context' not in already_processed: + already_processed.add('ID_Context') + self.ID_Context = value + self.validate_StringLength1to32(self.ID_Context) # validate type StringLength1to32 + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType2(self.Type) # validate type TypeType2 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Event_IDType + + +class GeneralEventInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, URL=None, Acronym=None, EventContacts=None, AttendeeInfo=None, Dates=None, Comments=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.URL = _cast(None, URL) + self.URL_nsprefix_ = None + self.Acronym = _cast(None, Acronym) + self.Acronym_nsprefix_ = None + self.EventContacts = EventContacts + self.EventContacts_nsprefix_ = None + self.AttendeeInfo = AttendeeInfo + self.AttendeeInfo_nsprefix_ = None + self.Dates = Dates + self.Dates_nsprefix_ = None + self.Comments = Comments + self.Comments_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GeneralEventInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GeneralEventInfoType.subclass: + return GeneralEventInfoType.subclass(*args_, **kwargs_) + else: + return GeneralEventInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EventContacts(self): + return self.EventContacts + def set_EventContacts(self, EventContacts): + self.EventContacts = EventContacts + def get_AttendeeInfo(self): + return self.AttendeeInfo + def set_AttendeeInfo(self, AttendeeInfo): + self.AttendeeInfo = AttendeeInfo + def get_Dates(self): + return self.Dates + def set_Dates(self, Dates): + self.Dates = Dates + def get_Comments(self): + return self.Comments + def set_Comments(self, Comments): + self.Comments = Comments + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_Acronym(self): + return self.Acronym + def set_Acronym(self, Acronym): + self.Acronym = Acronym + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_url_string(self, value): + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.EventContacts is not None or + self.AttendeeInfo is not None or + self.Dates is not None or + self.Comments is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GeneralEventInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GeneralEventInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GeneralEventInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GeneralEventInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GeneralEventInfoType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GeneralEventInfoType'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.URL is not None and 'URL' not in already_processed: + already_processed.add('URL') + outfile.write(' URL=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.URL), input_name='URL')), )) + if self.Acronym is not None and 'Acronym' not in already_processed: + already_processed.add('Acronym') + outfile.write(' Acronym=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Acronym), input_name='Acronym')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GeneralEventInfoType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.EventContacts is not None: + namespaceprefix_ = self.EventContacts_nsprefix_ + ':' if (UseCapturedNS_ and self.EventContacts_nsprefix_) else '' + self.EventContacts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventContacts', pretty_print=pretty_print) + if self.AttendeeInfo is not None: + namespaceprefix_ = self.AttendeeInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AttendeeInfo_nsprefix_) else '' + self.AttendeeInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AttendeeInfo', pretty_print=pretty_print) + if self.Dates is not None: + namespaceprefix_ = self.Dates_nsprefix_ + ':' if (UseCapturedNS_ and self.Dates_nsprefix_) else '' + self.Dates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Dates', pretty_print=pretty_print) + if self.Comments is not None: + namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' + self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_def_nonempty_string(self.Type) # validate type def_nonempty_string + value = find_attr_value_('URL', node) + if value is not None and 'URL' not in already_processed: + already_processed.add('URL') + self.URL = value + self.validate_def_url_string(self.URL) # validate type def_url_string + value = find_attr_value_('Acronym', node) + if value is not None and 'Acronym' not in already_processed: + already_processed.add('Acronym') + self.Acronym = value + self.validate_StringLength1to32(self.Acronym) # validate type StringLength1to32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EventContacts': + obj_ = EventContactsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EventContacts = obj_ + obj_.original_tagname_ = 'EventContacts' + elif nodeName_ == 'AttendeeInfo': + obj_ = AttendeeInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AttendeeInfo = obj_ + obj_.original_tagname_ = 'AttendeeInfo' + elif nodeName_ == 'Dates': + obj_ = DatesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Dates = obj_ + obj_.original_tagname_ = 'Dates' + elif nodeName_ == 'Comments': + obj_ = CommentsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comments = obj_ + obj_.original_tagname_ = 'Comments' +# end class GeneralEventInfoType + + +class EventContactsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EventContact=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if EventContact is None: + self.EventContact = [] + else: + self.EventContact = EventContact + self.EventContact_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EventContactsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EventContactsType.subclass: + return EventContactsType.subclass(*args_, **kwargs_) + else: + return EventContactsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EventContact(self): + return self.EventContact + def set_EventContact(self, EventContact): + self.EventContact = EventContact + def add_EventContact(self, value): + self.EventContact.append(value) + def insert_EventContact_at(self, index, value): + self.EventContact.insert(index, value) + def replace_EventContact_at(self, index, value): + self.EventContact[index] = value + def has__content(self): + if ( + self.EventContact + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventContactsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EventContactsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventContactsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventContactsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventContactsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for EventContact_ in self.EventContact: + namespaceprefix_ = self.EventContact_nsprefix_ + ':' if (UseCapturedNS_ and self.EventContact_nsprefix_) else '' + EventContact_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventContact', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EventContact': + obj_ = EventContactType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EventContact.append(obj_) + obj_.original_tagname_ = 'EventContact' +# end class EventContactsType + + +class EventContactType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Role=None, PersonName=None, URL=None, EmployeeInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Role = _cast(None, Role) + self.Role_nsprefix_ = None + self.PersonName = PersonName + self.PersonName_nsprefix_ = None + self.URL = URL + self.URL_nsprefix_ = None + self.EmployeeInfo = EmployeeInfo + self.EmployeeInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EventContactType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EventContactType.subclass: + return EventContactType.subclass(*args_, **kwargs_) + else: + return EventContactType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PersonName(self): + return self.PersonName + def set_PersonName(self, PersonName): + self.PersonName = PersonName + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_EmployeeInfo(self): + return self.EmployeeInfo + def set_EmployeeInfo(self, EmployeeInfo): + self.EmployeeInfo = EmployeeInfo + def get_Role(self): + return self.Role + def set_Role(self, Role): + self.Role = Role + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.PersonName is not None or + self.URL is not None or + self.EmployeeInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventContactType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EventContactType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventContactType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventContactType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventContactType'): + if self.Role is not None and 'Role' not in already_processed: + already_processed.add('Role') + outfile.write(' Role=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Role), input_name='Role')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PersonName is not None: + namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' + self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) + if self.URL is not None: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + self.URL.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URL', pretty_print=pretty_print) + if self.EmployeeInfo is not None: + namespaceprefix_ = self.EmployeeInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.EmployeeInfo_nsprefix_) else '' + self.EmployeeInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EmployeeInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Role', node) + if value is not None and 'Role' not in already_processed: + already_processed.add('Role') + self.Role = value + self.validate_StringLength1to32(self.Role) # validate type StringLength1to32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PersonName': + obj_ = PersonNameType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PersonName = obj_ + obj_.original_tagname_ = 'PersonName' + elif nodeName_ == 'URL': + obj_ = URLType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.URL = obj_ + obj_.original_tagname_ = 'URL' + elif nodeName_ == 'EmployeeInfo': + obj_ = EmployeeInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EmployeeInfo = obj_ + obj_.original_tagname_ = 'EmployeeInfo' +# end class EventContactType + + +class PersonNameType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GivenName=None, Surname=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GivenName = GivenName + self.GivenName_nsprefix_ = None + self.Surname = Surname + self.Surname_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PersonNameType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PersonNameType.subclass: + return PersonNameType.subclass(*args_, **kwargs_) + else: + return PersonNameType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GivenName(self): + return self.GivenName + def set_GivenName(self, GivenName): + self.GivenName = GivenName + def get_Surname(self): + return self.Surname + def set_Surname(self, Surname): + self.Surname = Surname + def has__content(self): + if ( + self.GivenName is not None or + self.Surname is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PersonNameType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GivenName is not None: + namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' + self.GivenName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GivenName', pretty_print=pretty_print) + if self.Surname is not None: + namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' + self.Surname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Surname', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GivenName': + obj_ = GivenNameType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GivenName = obj_ + obj_.original_tagname_ = 'GivenName' + elif nodeName_ == 'Surname': + obj_ = SurnameType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Surname = obj_ + obj_.original_tagname_ = 'Surname' +# end class PersonNameType + + +class GivenNameType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GivenNameType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GivenNameType.subclass: + return GivenNameType.subclass(*args_, **kwargs_) + else: + return GivenNameType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GivenNameType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GivenNameType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GivenNameType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GivenNameType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GivenNameType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GivenNameType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class GivenNameType + + +class SurnameType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SurnameType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SurnameType.subclass: + return SurnameType.subclass(*args_, **kwargs_) + else: + return SurnameType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SurnameType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SurnameType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SurnameType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SurnameType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SurnameType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SurnameType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class SurnameType + + +class URLType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, URLType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if URLType.subclass: + return URLType.subclass(*args_, **kwargs_) + else: + return URLType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TypeType3(self, value): + # Validate type TypeType3, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Image'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType3' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'URLType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType3(self.Type) # validate type TypeType3 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class URLType + + +class EmployeeInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EmployeeId=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EmployeeId = _cast(None, EmployeeId) + self.EmployeeId_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EmployeeInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EmployeeInfoType.subclass: + return EmployeeInfoType.subclass(*args_, **kwargs_) + else: + return EmployeeInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EmployeeId(self): + return self.EmployeeId + def set_EmployeeId(self, EmployeeId): + self.EmployeeId = EmployeeId + def validate_EmployeeIdType(self, value): + # Validate type EmployeeIdType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on EmployeeIdType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on EmployeeIdType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmployeeInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmployeeInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EmployeeInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmployeeInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EmployeeInfoType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmployeeInfoType'): + if self.EmployeeId is not None and 'EmployeeId' not in already_processed: + already_processed.add('EmployeeId') + outfile.write(' EmployeeId=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmployeeId), input_name='EmployeeId')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmployeeInfoType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EmployeeId', node) + if value is not None and 'EmployeeId' not in already_processed: + already_processed.add('EmployeeId') + self.EmployeeId = value + self.validate_EmployeeIdType(self.EmployeeId) # validate type EmployeeIdType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class EmployeeInfoType + + +class AttendeeInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TotalQuantity=None, PreRegisteredQuantity=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TotalQuantity = _cast(int, TotalQuantity) + self.TotalQuantity_nsprefix_ = None + self.PreRegisteredQuantity = _cast(int, PreRegisteredQuantity) + self.PreRegisteredQuantity_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AttendeeInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AttendeeInfoType.subclass: + return AttendeeInfoType.subclass(*args_, **kwargs_) + else: + return AttendeeInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TotalQuantity(self): + return self.TotalQuantity + def set_TotalQuantity(self, TotalQuantity): + self.TotalQuantity = TotalQuantity + def get_PreRegisteredQuantity(self): + return self.PreRegisteredQuantity + def set_PreRegisteredQuantity(self, PreRegisteredQuantity): + self.PreRegisteredQuantity = PreRegisteredQuantity + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AttendeeInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AttendeeInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AttendeeInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AttendeeInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AttendeeInfoType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AttendeeInfoType'): + if self.TotalQuantity is not None and 'TotalQuantity' not in already_processed: + already_processed.add('TotalQuantity') + outfile.write(' TotalQuantity="%s"' % self.gds_format_integer(self.TotalQuantity, input_name='TotalQuantity')) + if self.PreRegisteredQuantity is not None and 'PreRegisteredQuantity' not in already_processed: + already_processed.add('PreRegisteredQuantity') + outfile.write(' PreRegisteredQuantity="%s"' % self.gds_format_integer(self.PreRegisteredQuantity, input_name='PreRegisteredQuantity')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AttendeeInfoType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TotalQuantity', node) + if value is not None and 'TotalQuantity' not in already_processed: + already_processed.add('TotalQuantity') + self.TotalQuantity = self.gds_parse_integer(value, node, 'TotalQuantity') + if self.TotalQuantity < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.TotalQuantity) # validate type def_int_ge0 + value = find_attr_value_('PreRegisteredQuantity', node) + if value is not None and 'PreRegisteredQuantity' not in already_processed: + already_processed.add('PreRegisteredQuantity') + self.PreRegisteredQuantity = self.gds_parse_integer(value, node, 'PreRegisteredQuantity') + if self.PreRegisteredQuantity < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.PreRegisteredQuantity) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AttendeeInfoType + + +class DatesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Date=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Date is None: + self.Date = [] + else: + self.Date = Date + self.Date_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DatesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DatesType.subclass: + return DatesType.subclass(*args_, **kwargs_) + else: + return DatesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Date(self): + return self.Date + def set_Date(self, Date): + self.Date = Date + def add_Date(self, value): + self.Date.append(value) + def insert_Date_at(self, index, value): + self.Date.insert(index, value) + def replace_Date_at(self, index, value): + self.Date[index] = value + def has__content(self): + if ( + self.Date + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DatesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DatesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DatesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DatesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DatesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DatesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DatesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Date_ in self.Date: + namespaceprefix_ = self.Date_nsprefix_ + ':' if (UseCapturedNS_ and self.Date_nsprefix_) else '' + Date_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Date', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Date': + obj_ = DateType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Date.append(obj_) + obj_.original_tagname_ = 'Date' +# end class DatesType + + +class DateType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, EndDateWindow=None, LocationCategories=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.EndDateWindow = EndDateWindow + self.EndDateWindow_nsprefix_ = None + self.LocationCategories = LocationCategories + self.LocationCategories_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DateType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DateType.subclass: + return DateType.subclass(*args_, **kwargs_) + else: + return DateType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EndDateWindow(self): + return self.EndDateWindow + def set_EndDateWindow(self, EndDateWindow): + self.EndDateWindow = EndDateWindow + def get_LocationCategories(self): + return self.LocationCategories + def set_LocationCategories(self, LocationCategories): + self.LocationCategories = LocationCategories + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_DateOrTimeOrDateTimeType(self, value): + # Validate type DateOrTimeOrDateTimeType, a restriction on None. + pass + def has__content(self): + if ( + self.EndDateWindow is not None or + self.LocationCategories is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DateType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DateType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DateType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DateType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DateType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DateType'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start=%s' % (quote_attrib(self.Start), )) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End=%s' % (quote_attrib(self.End), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DateType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.EndDateWindow is not None: + namespaceprefix_ = self.EndDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.EndDateWindow_nsprefix_) else '' + self.EndDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EndDateWindow', pretty_print=pretty_print) + if self.LocationCategories is not None: + namespaceprefix_ = self.LocationCategories_nsprefix_ + ':' if (UseCapturedNS_ and self.LocationCategories_nsprefix_) else '' + self.LocationCategories.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LocationCategories', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + self.Start = value + self.validate_DateOrTimeOrDateTimeType(self.Start) # validate type DateOrTimeOrDateTimeType + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + self.End = value + self.validate_DateOrTimeOrDateTimeType(self.End) # validate type DateOrTimeOrDateTimeType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EndDateWindow': + obj_ = EndDateWindowType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EndDateWindow = obj_ + obj_.original_tagname_ = 'EndDateWindow' + elif nodeName_ == 'LocationCategories': + obj_ = LocationCategoriesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LocationCategories = obj_ + obj_.original_tagname_ = 'LocationCategories' +# end class DateType + + +class EndDateWindowType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, LatestDate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.LatestDate = _cast(None, LatestDate) + self.LatestDate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EndDateWindowType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EndDateWindowType.subclass: + return EndDateWindowType.subclass(*args_, **kwargs_) + else: + return EndDateWindowType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LatestDate(self): + return self.LatestDate + def set_LatestDate(self, LatestDate): + self.LatestDate = LatestDate + def validate_DateOrDateTimeType(self, value): + # Validate type DateOrDateTimeType, a restriction on None. + pass + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EndDateWindowType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EndDateWindowType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EndDateWindowType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EndDateWindowType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EndDateWindowType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EndDateWindowType'): + if self.LatestDate is not None and 'LatestDate' not in already_processed: + already_processed.add('LatestDate') + outfile.write(' LatestDate=%s' % (quote_attrib(self.LatestDate), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EndDateWindowType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('LatestDate', node) + if value is not None and 'LatestDate' not in already_processed: + already_processed.add('LatestDate') + self.LatestDate = value + self.validate_DateOrDateTimeType(self.LatestDate) # validate type DateOrDateTimeType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class EndDateWindowType + + +class LocationCategoriesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Location=None, Category=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Location = Location + self.Location_nsprefix_ = None + if Category is None: + self.Category = [] + else: + self.Category = Category + self.Category_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LocationCategoriesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LocationCategoriesType.subclass: + return LocationCategoriesType.subclass(*args_, **kwargs_) + else: + return LocationCategoriesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Location(self): + return self.Location + def set_Location(self, Location): + self.Location = Location + def get_Category(self): + return self.Category + def set_Category(self, Category): + self.Category = Category + def add_Category(self, value): + self.Category.append(value) + def insert_Category_at(self, index, value): + self.Category.insert(index, value) + def replace_Category_at(self, index, value): + self.Category[index] = value + def has__content(self): + if ( + self.Location is not None or + self.Category + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LocationCategoriesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LocationCategoriesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LocationCategoriesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LocationCategoriesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LocationCategoriesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LocationCategoriesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LocationCategoriesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Location is not None: + namespaceprefix_ = self.Location_nsprefix_ + ':' if (UseCapturedNS_ and self.Location_nsprefix_) else '' + self.Location.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Location', pretty_print=pretty_print) + for Category_ in self.Category: + namespaceprefix_ = self.Category_nsprefix_ + ':' if (UseCapturedNS_ and self.Category_nsprefix_) else '' + Category_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Category', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Location': + obj_ = LocationType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Location = obj_ + obj_.original_tagname_ = 'Location' + elif nodeName_ == 'Category': + obj_ = CategoryType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Category.append(obj_) + obj_.original_tagname_ = 'Category' +# end class LocationCategoriesType + + +class LocationType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AreaID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AreaID = _cast(None, AreaID) + self.AreaID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LocationType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LocationType.subclass: + return LocationType.subclass(*args_, **kwargs_) + else: + return LocationType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AreaID(self): + return self.AreaID + def set_AreaID(self, AreaID): + self.AreaID = AreaID + def validate_NumericStringLength1to8(self, value): + # Validate type NumericStringLength1to8, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to8_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to8_patterns_, )) + validate_NumericStringLength1to8_patterns_ = [['^([0-9]{1,8})$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LocationType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LocationType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LocationType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LocationType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LocationType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LocationType'): + if self.AreaID is not None and 'AreaID' not in already_processed: + already_processed.add('AreaID') + outfile.write(' AreaID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AreaID), input_name='AreaID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LocationType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AreaID', node) + if value is not None and 'AreaID' not in already_processed: + already_processed.add('AreaID') + self.AreaID = value + self.validate_NumericStringLength1to8(self.AreaID) # validate type NumericStringLength1to8 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class LocationType + + +class CategoryType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CategoryType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CategoryType.subclass: + return CategoryType.subclass(*args_, **kwargs_) + else: + return CategoryType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_LanguageType(self, value): + # Validate type LanguageType, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType_patterns_, )) + validate_LanguageType_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CategoryType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CategoryType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CategoryType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CategoryType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CategoryType'): + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CategoryType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType(self.Language) # validate type LanguageType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CategoryType + + +class CommentsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Comment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Comment is None: + self.Comment = [] + else: + self.Comment = Comment + self.Comment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentsType.subclass: + return CommentsType.subclass(*args_, **kwargs_) + else: + return CommentsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Comment(self): + return self.Comment + def set_Comment(self, Comment): + self.Comment = Comment + def add_Comment(self, value): + self.Comment.append(value) + def insert_Comment_at(self, index, value): + self.Comment.insert(index, value) + def replace_Comment_at(self, index, value): + self.Comment[index] = value + def has__content(self): + if ( + self.Comment + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Comment_ in self.Comment: + namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' + Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Comment': + obj_ = CommentType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comment.append(obj_) + obj_.original_tagname_ = 'Comment' +# end class CommentsType + + +class CommentType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, Text=None, Image=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + if Image is None: + self.Image = [] + else: + self.Image = Image + self.Image_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentType.subclass: + return CommentType.subclass(*args_, **kwargs_) + else: + return CommentType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def get_Image(self): + return self.Image + def set_Image(self, Image): + self.Image = Image + def add_Image(self, value): + self.Image.append(value) + def insert_Image_at(self, index, value): + self.Image.insert(index, value) + def replace_Image_at(self, index, value): + self.Image[index] = value + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_NameType(self, value): + # Validate type NameType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Title', 'Category', 'Gallery', 'Description'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Text or + self.Image + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + for Image_ in self.Image: + namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' + Image_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Image', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType(self.Name) # validate type NameType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' + elif nodeName_ == 'Image': + obj_ = ImageType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Image.append(obj_) + obj_.original_tagname_ = 'Image' +# end class CommentType + + +class TextType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType.subclass: + return TextType.subclass(*args_, **kwargs_) + else: + return TextType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_LanguageType4(self, value): + # Validate type LanguageType4, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType4_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType4_patterns_, )) + validate_LanguageType4_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType'): + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType4(self.Language) # validate type LanguageType4 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType + + +class ImageType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageType.subclass: + return ImageType.subclass(*args_, **kwargs_) + else: + return ImageType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ImageType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ImageType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ImageType + + +class ErrorsType5(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType5) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType5.subclass: + return ErrorsType5.subclass(*args_, **kwargs_) + else: + return ErrorsType5(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType5', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType5') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType5': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType5') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType5', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType5'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType5', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType6.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType5 + + +class ErrorType6(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType6.subclass: + return ErrorType6.subclass(*args_, **kwargs_) + else: + return ErrorType6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType7(self, value): + # Validate type TypeType7, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType7' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType6') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType6'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType6', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType7(self.Type) # validate type TypeType7 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType6 + + +class WarningsType8(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType8) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType8.subclass: + return WarningsType8.subclass(*args_, **kwargs_) + else: + return WarningsType8(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType8', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType8') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType8': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType8') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType8', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType8'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType8', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType9.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType8 + + +class WarningType9(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType9) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType9.subclass: + return WarningType9.subclass(*args_, **kwargs_) + else: + return WarningType9(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType9', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType9') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType9': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType9') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType9'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType9', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType9 + + +class UniqueIDType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, ID=None, Instance=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.Instance = _cast(None, Instance) + self.Instance_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, UniqueIDType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if UniqueIDType.subclass: + return UniqueIDType.subclass(*args_, **kwargs_) + else: + return UniqueIDType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def get_Instance(self): + return self.Instance + def set_Instance(self, Instance): + self.Instance = Instance + def validate_TypeType10(self, value): + # Validate type TypeType10, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['16', '35'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType10' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_InstanceType(self, value): + # Validate type InstanceType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['CompleteSet'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InstanceType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'UniqueIDType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + if self.Instance is not None and 'Instance' not in already_processed: + already_processed.add('Instance') + outfile.write(' Instance=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Instance), input_name='Instance')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType10(self.Type) # validate type TypeType10 + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + value = find_attr_value_('Instance', node) + if value is not None and 'Instance' not in already_processed: + already_processed.add('Instance') + self.Instance = value + self.validate_InstanceType(self.Instance) # validate type InstanceType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class UniqueIDType + + +class InventoriesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, Inventory=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + if Inventory is None: + self.Inventory = [] + else: + self.Inventory = Inventory + self.Inventory_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, InventoriesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if InventoriesType.subclass: + return InventoriesType.subclass(*args_, **kwargs_) + else: + return InventoriesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Inventory(self): + return self.Inventory + def set_Inventory(self, Inventory): + self.Inventory = Inventory + def add_Inventory(self, value): + self.Inventory.append(value) + def insert_Inventory_at(self, index, value): + self.Inventory.insert(index, value) + def replace_Inventory_at(self, index, value): + self.Inventory[index] = value + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Inventory + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoriesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('InventoriesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'InventoriesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InventoriesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InventoriesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InventoriesType'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoriesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Inventory_ in self.Inventory: + namespaceprefix_ = self.Inventory_nsprefix_ + ':' if (UseCapturedNS_ and self.Inventory_nsprefix_) else '' + Inventory_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Inventory', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Inventory': + obj_ = InventoryType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Inventory.append(obj_) + obj_.original_tagname_ = 'Inventory' +# end class InventoriesType + + +class InventoryType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StatusApplicationControl=None, InvCounts=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.StatusApplicationControl = StatusApplicationControl + self.StatusApplicationControl_nsprefix_ = None + self.InvCounts = InvCounts + self.InvCounts_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, InventoryType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if InventoryType.subclass: + return InventoryType.subclass(*args_, **kwargs_) + else: + return InventoryType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StatusApplicationControl(self): + return self.StatusApplicationControl + def set_StatusApplicationControl(self, StatusApplicationControl): + self.StatusApplicationControl = StatusApplicationControl + def get_InvCounts(self): + return self.InvCounts + def set_InvCounts(self, InvCounts): + self.InvCounts = InvCounts + def has__content(self): + if ( + self.StatusApplicationControl is not None or + self.InvCounts is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoryType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('InventoryType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'InventoryType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InventoryType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InventoryType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InventoryType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoryType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.StatusApplicationControl is not None: + namespaceprefix_ = self.StatusApplicationControl_nsprefix_ + ':' if (UseCapturedNS_ and self.StatusApplicationControl_nsprefix_) else '' + self.StatusApplicationControl.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StatusApplicationControl', pretty_print=pretty_print) + if self.InvCounts is not None: + namespaceprefix_ = self.InvCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.InvCounts_nsprefix_) else '' + self.InvCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='InvCounts', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'StatusApplicationControl': + obj_ = StatusApplicationControlType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StatusApplicationControl = obj_ + obj_.original_tagname_ = 'StatusApplicationControl' + elif nodeName_ == 'InvCounts': + obj_ = InvCountsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.InvCounts = obj_ + obj_.original_tagname_ = 'InvCounts' +# end class InventoryType + + +class StatusApplicationControlType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, InvTypeCode=None, InvCode=None, AllInvCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.InvTypeCode = _cast(None, InvTypeCode) + self.InvTypeCode_nsprefix_ = None + self.InvCode = _cast(None, InvCode) + self.InvCode_nsprefix_ = None + self.AllInvCode = _cast(bool, AllInvCode) + self.AllInvCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StatusApplicationControlType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StatusApplicationControlType.subclass: + return StatusApplicationControlType.subclass(*args_, **kwargs_) + else: + return StatusApplicationControlType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def get_InvTypeCode(self): + return self.InvTypeCode + def set_InvTypeCode(self, InvTypeCode): + self.InvTypeCode = InvTypeCode + def get_InvCode(self): + return self.InvCode + def set_InvCode(self, InvCode): + self.InvCode = InvCode + def get_AllInvCode(self): + return self.AllInvCode + def set_AllInvCode(self, AllInvCode): + self.AllInvCode = AllInvCode + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StatusApplicationControlType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StatusApplicationControlType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StatusApplicationControlType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StatusApplicationControlType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StatusApplicationControlType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StatusApplicationControlType'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: + already_processed.add('InvTypeCode') + outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) + if self.InvCode is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) + if self.AllInvCode is not None and 'AllInvCode' not in already_processed: + already_processed.add('AllInvCode') + outfile.write(' AllInvCode="%s"' % self.gds_format_boolean(self.AllInvCode, input_name='AllInvCode')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StatusApplicationControlType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + value = find_attr_value_('InvTypeCode', node) + if value is not None and 'InvTypeCode' not in already_processed: + already_processed.add('InvTypeCode') + self.InvTypeCode = value + self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string + value = find_attr_value_('InvCode', node) + if value is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + self.InvCode = value + self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 + value = find_attr_value_('AllInvCode', node) + if value is not None and 'AllInvCode' not in already_processed: + already_processed.add('AllInvCode') + if value in ('true', '1'): + self.AllInvCode = True + elif value in ('false', '0'): + self.AllInvCode = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.AllInvCode) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class StatusApplicationControlType + + +class InvCountsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, InvCount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if InvCount is None: + self.InvCount = [] + else: + self.InvCount = InvCount + self.InvCount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, InvCountsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if InvCountsType.subclass: + return InvCountsType.subclass(*args_, **kwargs_) + else: + return InvCountsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_InvCount(self): + return self.InvCount + def set_InvCount(self, InvCount): + self.InvCount = InvCount + def add_InvCount(self, value): + self.InvCount.append(value) + def insert_InvCount_at(self, index, value): + self.InvCount.insert(index, value) + def replace_InvCount_at(self, index, value): + self.InvCount[index] = value + def has__content(self): + if ( + self.InvCount + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InvCountsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('InvCountsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'InvCountsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InvCountsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InvCountsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InvCountsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InvCountsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for InvCount_ in self.InvCount: + namespaceprefix_ = self.InvCount_nsprefix_ + ':' if (UseCapturedNS_ and self.InvCount_nsprefix_) else '' + InvCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='InvCount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'InvCount': + obj_ = InvCountType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.InvCount.append(obj_) + obj_.original_tagname_ = 'InvCount' +# end class InvCountsType + + +class InvCountType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CountType=None, Count=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CountType = _cast(None, CountType) + self.CountType_nsprefix_ = None + self.Count = _cast(int, Count) + self.Count_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, InvCountType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if InvCountType.subclass: + return InvCountType.subclass(*args_, **kwargs_) + else: + return InvCountType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CountType(self): + return self.CountType + def set_CountType(self, CountType): + self.CountType = CountType + def get_Count(self): + return self.Count + def set_Count(self, Count): + self.Count = Count + def validate_CountTypeType(self, value): + # Validate type CountTypeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['2', '6', '9'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CountTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='InvCountType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('InvCountType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'InvCountType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InvCountType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InvCountType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InvCountType'): + if self.CountType is not None and 'CountType' not in already_processed: + already_processed.add('CountType') + outfile.write(' CountType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CountType), input_name='CountType')), )) + if self.Count is not None and 'Count' not in already_processed: + already_processed.add('Count') + outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='InvCountType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CountType', node) + if value is not None and 'CountType' not in already_processed: + already_processed.add('CountType') + self.CountType = value + self.validate_CountTypeType(self.CountType) # validate type CountTypeType + value = find_attr_value_('Count', node) + if value is not None and 'Count' not in already_processed: + already_processed.add('Count') + self.Count = self.gds_parse_integer(value, node, 'Count') + if self.Count < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Count) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class InvCountType + + +class ErrorsType11(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType11) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType11.subclass: + return ErrorsType11.subclass(*args_, **kwargs_) + else: + return ErrorsType11(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType11', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType11') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType11': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType11') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType11', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType11'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType11', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType12.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType11 + + +class ErrorType12(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType12) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType12.subclass: + return ErrorType12.subclass(*args_, **kwargs_) + else: + return ErrorType12(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType13(self, value): + # Validate type TypeType13, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType13' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType12', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType12') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType12': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType12') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType12'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType12', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType13(self.Type) # validate type TypeType13 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType12 + + +class WarningsType14(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType14) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType14.subclass: + return WarningsType14.subclass(*args_, **kwargs_) + else: + return WarningsType14(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType14', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType14') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType14': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType14') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType14', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType14'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType14', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType15.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType14 + + +class WarningType15(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType15) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType15.subclass: + return WarningType15.subclass(*args_, **kwargs_) + else: + return WarningType15(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType15', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType15') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType15': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType15') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType15'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType15', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType15 + + +class HotelReservationsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelReservation=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if HotelReservation is None: + self.HotelReservation = [] + else: + self.HotelReservation = HotelReservation + self.HotelReservation_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationsType.subclass: + return HotelReservationsType.subclass(*args_, **kwargs_) + else: + return HotelReservationsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelReservation(self): + return self.HotelReservation + def set_HotelReservation(self, HotelReservation): + self.HotelReservation = HotelReservation + def add_HotelReservation(self, value): + self.HotelReservation.append(value) + def insert_HotelReservation_at(self, index, value): + self.HotelReservation.insert(index, value) + def replace_HotelReservation_at(self, index, value): + self.HotelReservation[index] = value + def has__content(self): + if ( + self.HotelReservation + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for HotelReservation_ in self.HotelReservation: + namespaceprefix_ = self.HotelReservation_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservation_nsprefix_) else '' + HotelReservation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservation', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelReservation': + obj_ = HotelReservationType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservation.append(obj_) + obj_.original_tagname_ = 'HotelReservation' +# end class HotelReservationsType + + +class HotelReservationType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CreateDateTime = _cast(None, CreateDateTime) + self.CreateDateTime_nsprefix_ = None + self.LastModifyDateTime = _cast(None, LastModifyDateTime) + self.LastModifyDateTime_nsprefix_ = None + self.ResStatus = _cast(None, ResStatus) + self.ResStatus_nsprefix_ = None + self.RoomStayReservation = _cast(bool, RoomStayReservation) + self.RoomStayReservation_nsprefix_ = None + self.UniqueID = UniqueID + self.UniqueID_nsprefix_ = None + self.RoomStays = RoomStays + self.RoomStays_nsprefix_ = None + self.Services = Services + self.Services_nsprefix_ = None + self.ResGuests = ResGuests + self.ResGuests_nsprefix_ = None + self.ResGlobalInfo = ResGlobalInfo + self.ResGlobalInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationType.subclass: + return HotelReservationType.subclass(*args_, **kwargs_) + else: + return HotelReservationType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_UniqueID(self): + return self.UniqueID + def set_UniqueID(self, UniqueID): + self.UniqueID = UniqueID + def get_RoomStays(self): + return self.RoomStays + def set_RoomStays(self, RoomStays): + self.RoomStays = RoomStays + def get_Services(self): + return self.Services + def set_Services(self, Services): + self.Services = Services + def get_ResGuests(self): + return self.ResGuests + def set_ResGuests(self, ResGuests): + self.ResGuests = ResGuests + def get_ResGlobalInfo(self): + return self.ResGlobalInfo + def set_ResGlobalInfo(self, ResGlobalInfo): + self.ResGlobalInfo = ResGlobalInfo + def get_CreateDateTime(self): + return self.CreateDateTime + def set_CreateDateTime(self, CreateDateTime): + self.CreateDateTime = CreateDateTime + def get_LastModifyDateTime(self): + return self.LastModifyDateTime + def set_LastModifyDateTime(self, LastModifyDateTime): + self.LastModifyDateTime = LastModifyDateTime + def get_ResStatus(self): + return self.ResStatus + def set_ResStatus(self, ResStatus): + self.ResStatus = ResStatus + def get_RoomStayReservation(self): + return self.RoomStayReservation + def set_RoomStayReservation(self, RoomStayReservation): + self.RoomStayReservation = RoomStayReservation + def validate_def_datetime(self, value): + # Validate type def_datetime, a restriction on xs:dateTime. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.datetime): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_datetime_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) + validate_def_datetime_patterns_ = [['^(\\S+)$']] + def validate_ResStatusType(self, value): + # Validate type ResStatusType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Requested', 'Reserved', 'Cancelled', 'Modify'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ResStatusType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.UniqueID is not None or + self.RoomStays is not None or + self.Services is not None or + self.ResGuests is not None or + self.ResGlobalInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType'): + if self.CreateDateTime is not None and 'CreateDateTime' not in already_processed: + already_processed.add('CreateDateTime') + outfile.write(' CreateDateTime="%s"' % self.gds_format_datetime(self.CreateDateTime, input_name='CreateDateTime')) + if self.LastModifyDateTime is not None and 'LastModifyDateTime' not in already_processed: + already_processed.add('LastModifyDateTime') + outfile.write(' LastModifyDateTime="%s"' % self.gds_format_datetime(self.LastModifyDateTime, input_name='LastModifyDateTime')) + if self.ResStatus is not None and 'ResStatus' not in already_processed: + already_processed.add('ResStatus') + outfile.write(' ResStatus=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResStatus), input_name='ResStatus')), )) + if self.RoomStayReservation is not None and 'RoomStayReservation' not in already_processed: + already_processed.add('RoomStayReservation') + outfile.write(' RoomStayReservation="%s"' % self.gds_format_boolean(self.RoomStayReservation, input_name='RoomStayReservation')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.UniqueID is not None: + namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' + self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) + if self.RoomStays is not None: + namespaceprefix_ = self.RoomStays_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStays_nsprefix_) else '' + self.RoomStays.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStays', pretty_print=pretty_print) + if self.Services is not None: + namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' + self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) + if self.ResGuests is not None: + namespaceprefix_ = self.ResGuests_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuests_nsprefix_) else '' + self.ResGuests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuests', pretty_print=pretty_print) + if self.ResGlobalInfo is not None: + namespaceprefix_ = self.ResGlobalInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGlobalInfo_nsprefix_) else '' + self.ResGlobalInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGlobalInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CreateDateTime', node) + if value is not None and 'CreateDateTime' not in already_processed: + already_processed.add('CreateDateTime') + try: + self.CreateDateTime = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (CreateDateTime): %s' % exp) + self.validate_def_datetime(self.CreateDateTime) # validate type def_datetime + value = find_attr_value_('LastModifyDateTime', node) + if value is not None and 'LastModifyDateTime' not in already_processed: + already_processed.add('LastModifyDateTime') + try: + self.LastModifyDateTime = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (LastModifyDateTime): %s' % exp) + self.validate_def_datetime(self.LastModifyDateTime) # validate type def_datetime + value = find_attr_value_('ResStatus', node) + if value is not None and 'ResStatus' not in already_processed: + already_processed.add('ResStatus') + self.ResStatus = value + self.validate_ResStatusType(self.ResStatus) # validate type ResStatusType + value = find_attr_value_('RoomStayReservation', node) + if value is not None and 'RoomStayReservation' not in already_processed: + already_processed.add('RoomStayReservation') + if value in ('true', '1'): + self.RoomStayReservation = True + elif value in ('false', '0'): + self.RoomStayReservation = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.RoomStayReservation) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'UniqueID': + obj_ = UniqueIDType16.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.UniqueID = obj_ + obj_.original_tagname_ = 'UniqueID' + elif nodeName_ == 'RoomStays': + obj_ = RoomStaysType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomStays = obj_ + obj_.original_tagname_ = 'RoomStays' + elif nodeName_ == 'Services': + obj_ = ServicesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Services = obj_ + obj_.original_tagname_ = 'Services' + elif nodeName_ == 'ResGuests': + obj_ = ResGuestsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ResGuests = obj_ + obj_.original_tagname_ = 'ResGuests' + elif nodeName_ == 'ResGlobalInfo': + obj_ = ResGlobalInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ResGlobalInfo = obj_ + obj_.original_tagname_ = 'ResGlobalInfo' +# end class HotelReservationType + + +class UniqueIDType16(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, UniqueIDType16) + if subclass is not None: + return subclass(*args_, **kwargs_) + if UniqueIDType16.subclass: + return UniqueIDType16.subclass(*args_, **kwargs_) + else: + return UniqueIDType16(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def validate_TypeType17(self, value): + # Validate type TypeType17, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['14', '15'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType17' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType16', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType16') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'UniqueIDType16': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType16') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType16', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType16'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType16', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType17(self.Type) # validate type TypeType17 + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class UniqueIDType16 + + +class RoomStaysType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomStay=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if RoomStay is None: + self.RoomStay = [] + else: + self.RoomStay = RoomStay + self.RoomStay_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomStaysType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomStaysType.subclass: + return RoomStaysType.subclass(*args_, **kwargs_) + else: + return RoomStaysType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomStay(self): + return self.RoomStay + def set_RoomStay(self, RoomStay): + self.RoomStay = RoomStay + def add_RoomStay(self, value): + self.RoomStay.append(value) + def insert_RoomStay_at(self, index, value): + self.RoomStay.insert(index, value) + def replace_RoomStay_at(self, index, value): + self.RoomStay[index] = value + def has__content(self): + if ( + self.RoomStay + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStaysType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomStaysType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStaysType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStaysType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStaysType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for RoomStay_ in self.RoomStay: + namespaceprefix_ = self.RoomStay_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStay_nsprefix_) else '' + RoomStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStay', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomStay': + obj_ = RoomStayType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomStay.append(obj_) + obj_.original_tagname_ = 'RoomStay' +# end class RoomStaysType + + +class RoomStayType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomStayGroupID = _cast(None, RoomStayGroupID) + self.RoomStayGroupID_nsprefix_ = None + self.RoomTypes = RoomTypes + self.RoomTypes_nsprefix_ = None + self.RatePlans = RatePlans + self.RatePlans_nsprefix_ = None + self.RoomRates = RoomRates + self.RoomRates_nsprefix_ = None + self.GuestCounts = GuestCounts + self.GuestCounts_nsprefix_ = None + self.TimeSpan = TimeSpan + self.TimeSpan_nsprefix_ = None + self.Guarantee = Guarantee + self.Guarantee_nsprefix_ = None + self.Total = Total + self.Total_nsprefix_ = None + self.ServiceRPHs = ServiceRPHs + self.ServiceRPHs_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomStayType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomStayType.subclass: + return RoomStayType.subclass(*args_, **kwargs_) + else: + return RoomStayType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomTypes(self): + return self.RoomTypes + def set_RoomTypes(self, RoomTypes): + self.RoomTypes = RoomTypes + def get_RatePlans(self): + return self.RatePlans + def set_RatePlans(self, RatePlans): + self.RatePlans = RatePlans + def get_RoomRates(self): + return self.RoomRates + def set_RoomRates(self, RoomRates): + self.RoomRates = RoomRates + def get_GuestCounts(self): + return self.GuestCounts + def set_GuestCounts(self, GuestCounts): + self.GuestCounts = GuestCounts + def get_TimeSpan(self): + return self.TimeSpan + def set_TimeSpan(self, TimeSpan): + self.TimeSpan = TimeSpan + def get_Guarantee(self): + return self.Guarantee + def set_Guarantee(self, Guarantee): + self.Guarantee = Guarantee + def get_Total(self): + return self.Total + def set_Total(self, Total): + self.Total = Total + def get_ServiceRPHs(self): + return self.ServiceRPHs + def set_ServiceRPHs(self, ServiceRPHs): + self.ServiceRPHs = ServiceRPHs + def get_RoomStayGroupID(self): + return self.RoomStayGroupID + def set_RoomStayGroupID(self, RoomStayGroupID): + self.RoomStayGroupID = RoomStayGroupID + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.RoomTypes is not None or + self.RatePlans is not None or + self.RoomRates is not None or + self.GuestCounts is not None or + self.TimeSpan is not None or + self.Guarantee is not None or + self.Total is not None or + self.ServiceRPHs is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStayType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomStayType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStayType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStayType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStayType'): + if self.RoomStayGroupID is not None and 'RoomStayGroupID' not in already_processed: + already_processed.add('RoomStayGroupID') + outfile.write(' RoomStayGroupID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomStayGroupID), input_name='RoomStayGroupID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RoomTypes is not None: + namespaceprefix_ = self.RoomTypes_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomTypes_nsprefix_) else '' + self.RoomTypes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomTypes', pretty_print=pretty_print) + if self.RatePlans is not None: + namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' + self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) + if self.RoomRates is not None: + namespaceprefix_ = self.RoomRates_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRates_nsprefix_) else '' + self.RoomRates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRates', pretty_print=pretty_print) + if self.GuestCounts is not None: + namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' + self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) + if self.TimeSpan is not None: + namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' + self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) + if self.Guarantee is not None: + namespaceprefix_ = self.Guarantee_nsprefix_ + ':' if (UseCapturedNS_ and self.Guarantee_nsprefix_) else '' + self.Guarantee.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guarantee', pretty_print=pretty_print) + if self.Total is not None: + namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' + self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) + if self.ServiceRPHs is not None: + namespaceprefix_ = self.ServiceRPHs_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPHs_nsprefix_) else '' + self.ServiceRPHs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPHs', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RoomStayGroupID', node) + if value is not None and 'RoomStayGroupID' not in already_processed: + already_processed.add('RoomStayGroupID') + self.RoomStayGroupID = value + self.validate_StringLength1to32(self.RoomStayGroupID) # validate type StringLength1to32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomTypes': + obj_ = RoomTypesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomTypes = obj_ + obj_.original_tagname_ = 'RoomTypes' + elif nodeName_ == 'RatePlans': + obj_ = RatePlansType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlans = obj_ + obj_.original_tagname_ = 'RatePlans' + elif nodeName_ == 'RoomRates': + obj_ = RoomRatesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomRates = obj_ + obj_.original_tagname_ = 'RoomRates' + elif nodeName_ == 'GuestCounts': + obj_ = GuestCountsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCounts = obj_ + obj_.original_tagname_ = 'GuestCounts' + elif nodeName_ == 'TimeSpan': + obj_ = TimeSpanType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TimeSpan = obj_ + obj_.original_tagname_ = 'TimeSpan' + elif nodeName_ == 'Guarantee': + obj_ = GuaranteeType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Guarantee = obj_ + obj_.original_tagname_ = 'Guarantee' + elif nodeName_ == 'Total': + obj_ = TotalType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Total = obj_ + obj_.original_tagname_ = 'Total' + elif nodeName_ == 'ServiceRPHs': + obj_ = ServiceRPHsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceRPHs = obj_ + obj_.original_tagname_ = 'ServiceRPHs' +# end class RoomStayType + + +class RoomTypesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomType = RoomType + self.RoomType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomTypesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomTypesType.subclass: + return RoomTypesType.subclass(*args_, **kwargs_) + else: + return RoomTypesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomType(self): + return self.RoomType + def set_RoomType(self, RoomType): + self.RoomType = RoomType + def has__content(self): + if ( + self.RoomType is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomTypesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RoomType is not None: + namespaceprefix_ = self.RoomType_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomType_nsprefix_) else '' + self.RoomType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomType', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomType': + obj_ = RoomTypeType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomType = obj_ + obj_.original_tagname_ = 'RoomType' +# end class RoomTypesType + + +class RoomTypeType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomTypeCode = _cast(None, RoomTypeCode) + self.RoomTypeCode_nsprefix_ = None + self.RoomClassificationCode = _cast(int, RoomClassificationCode) + self.RoomClassificationCode_nsprefix_ = None + self.RoomType = _cast(None, RoomType) + self.RoomType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomTypeType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomTypeType.subclass: + return RoomTypeType.subclass(*args_, **kwargs_) + else: + return RoomTypeType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomTypeCode(self): + return self.RoomTypeCode + def set_RoomTypeCode(self, RoomTypeCode): + self.RoomTypeCode = RoomTypeCode + def get_RoomClassificationCode(self): + return self.RoomClassificationCode + def set_RoomClassificationCode(self, RoomClassificationCode): + self.RoomClassificationCode = RoomClassificationCode + def get_RoomType(self): + return self.RoomType + def set_RoomType(self, RoomType): + self.RoomType = RoomType + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_RoomTypeType18(self, value): + # Validate type RoomTypeType18, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType18' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypeType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomTypeType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypeType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypeType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypeType'): + if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) + if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) + if self.RoomType is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RoomTypeCode', node) + if value is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + self.RoomTypeCode = value + self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string + value = find_attr_value_('RoomClassificationCode', node) + if value is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') + if self.RoomClassificationCode < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 + value = find_attr_value_('RoomType', node) + if value is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + self.RoomType = value + self.validate_RoomTypeType18(self.RoomType) # validate type RoomTypeType18 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class RoomTypeType + + +class RatePlansType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlan = RatePlan + self.RatePlan_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlansType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlansType.subclass: + return RatePlansType.subclass(*args_, **kwargs_) + else: + return RatePlansType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RatePlan(self): + return self.RatePlan + def set_RatePlan(self, RatePlan): + self.RatePlan = RatePlan + def has__content(self): + if ( + self.RatePlan is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlansType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RatePlan is not None: + namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' + self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RatePlan': + obj_ = RatePlanType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlan = obj_ + obj_.original_tagname_ = 'RatePlan' +# end class RatePlansType + + +class RatePlanType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlanCode = _cast(None, RatePlanCode) + self.RatePlanCode_nsprefix_ = None + self.Commission = Commission + self.Commission_nsprefix_ = None + self.MealsIncluded = MealsIncluded + self.MealsIncluded_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlanType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlanType.subclass: + return RatePlanType.subclass(*args_, **kwargs_) + else: + return RatePlanType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Commission(self): + return self.Commission + def set_Commission(self, Commission): + self.Commission = Commission + def get_MealsIncluded(self): + return self.MealsIncluded + def set_MealsIncluded(self, MealsIncluded): + self.MealsIncluded = MealsIncluded + def get_RatePlanCode(self): + return self.RatePlanCode + def set_RatePlanCode(self, RatePlanCode): + self.RatePlanCode = RatePlanCode + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Commission is not None or + self.MealsIncluded is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlanType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType'): + if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Commission is not None: + namespaceprefix_ = self.Commission_nsprefix_ + ':' if (UseCapturedNS_ and self.Commission_nsprefix_) else '' + self.Commission.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Commission', pretty_print=pretty_print) + if self.MealsIncluded is not None: + namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' + self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RatePlanCode', node) + if value is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + self.RatePlanCode = value + self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Commission': + obj_ = CommissionType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Commission = obj_ + obj_.original_tagname_ = 'Commission' + elif nodeName_ == 'MealsIncluded': + obj_ = MealsIncludedType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MealsIncluded = obj_ + obj_.original_tagname_ = 'MealsIncluded' +# end class RatePlanType + + +class CommissionType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Percent=None, CommissionPayableAmount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Percent = _cast(int, Percent) + self.Percent_nsprefix_ = None + self.CommissionPayableAmount = CommissionPayableAmount + self.CommissionPayableAmount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommissionType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommissionType.subclass: + return CommissionType.subclass(*args_, **kwargs_) + else: + return CommissionType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CommissionPayableAmount(self): + return self.CommissionPayableAmount + def set_CommissionPayableAmount(self, CommissionPayableAmount): + self.CommissionPayableAmount = CommissionPayableAmount + def get_Percent(self): + return self.Percent + def set_Percent(self, Percent): + self.Percent = Percent + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.CommissionPayableAmount is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommissionType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionType'): + if self.Percent is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + outfile.write(' Percent="%s"' % self.gds_format_integer(self.Percent, input_name='Percent')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CommissionPayableAmount is not None: + namespaceprefix_ = self.CommissionPayableAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.CommissionPayableAmount_nsprefix_) else '' + self.CommissionPayableAmount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CommissionPayableAmount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Percent', node) + if value is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + self.Percent = self.gds_parse_integer(value, node, 'Percent') + if self.Percent < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Percent) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CommissionPayableAmount': + obj_ = CommissionPayableAmountType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CommissionPayableAmount = obj_ + obj_.original_tagname_ = 'CommissionPayableAmount' +# end class CommissionType + + +class CommissionPayableAmountType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommissionPayableAmountType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommissionPayableAmountType.subclass: + return CommissionPayableAmountType.subclass(*args_, **kwargs_) + else: + return CommissionPayableAmountType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionPayableAmountType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommissionPayableAmountType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionPayableAmountType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionPayableAmountType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionPayableAmountType'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CommissionPayableAmountType + + +class MealsIncludedType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MealPlanIndicator = _cast(None, MealPlanIndicator) + self.MealPlanIndicator_nsprefix_ = None + self.MealPlanCodes = _cast(None, MealPlanCodes) + self.MealPlanCodes_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MealsIncludedType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MealsIncludedType.subclass: + return MealsIncludedType.subclass(*args_, **kwargs_) + else: + return MealsIncludedType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MealPlanIndicator(self): + return self.MealPlanIndicator + def set_MealPlanIndicator(self, MealPlanIndicator): + self.MealPlanIndicator = MealPlanIndicator + def get_MealPlanCodes(self): + return self.MealPlanCodes + def set_MealPlanCodes(self, MealPlanCodes): + self.MealPlanCodes = MealPlanCodes + def validate_MealPlanIndicatorType(self, value): + # Validate type MealPlanIndicatorType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', 'true'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MealPlanCodesType(self, value): + # Validate type MealPlanCodesType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '3', '10', '12', '14'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MealsIncludedType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType'): + if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) + if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MealPlanIndicator', node) + if value is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + self.MealPlanIndicator = value + self.validate_MealPlanIndicatorType(self.MealPlanIndicator) # validate type MealPlanIndicatorType + value = find_attr_value_('MealPlanCodes', node) + if value is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + self.MealPlanCodes = value + self.validate_MealPlanCodesType(self.MealPlanCodes) # validate type MealPlanCodesType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class MealsIncludedType + + +class RoomRatesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomRate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomRate = RoomRate + self.RoomRate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomRatesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomRatesType.subclass: + return RoomRatesType.subclass(*args_, **kwargs_) + else: + return RoomRatesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomRate(self): + return self.RoomRate + def set_RoomRate(self, RoomRate): + self.RoomRate = RoomRate + def has__content(self): + if ( + self.RoomRate is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRatesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomRatesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRatesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRatesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRatesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RoomRate is not None: + namespaceprefix_ = self.RoomRate_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRate_nsprefix_) else '' + self.RoomRate.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRate', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomRate': + obj_ = RoomRateType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomRate = obj_ + obj_.original_tagname_ = 'RoomRate' +# end class RoomRatesType + + +class RoomRateType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlanCode = _cast(None, RatePlanCode) + self.RatePlanCode_nsprefix_ = None + self.RoomTypeCode = _cast(None, RoomTypeCode) + self.RoomTypeCode_nsprefix_ = None + self.Rates = Rates + self.Rates_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomRateType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomRateType.subclass: + return RoomRateType.subclass(*args_, **kwargs_) + else: + return RoomRateType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rates(self): + return self.Rates + def set_Rates(self, Rates): + self.Rates = Rates + def get_RatePlanCode(self): + return self.RatePlanCode + def set_RatePlanCode(self, RatePlanCode): + self.RatePlanCode = RatePlanCode + def get_RoomTypeCode(self): + return self.RoomTypeCode + def set_RoomTypeCode(self, RoomTypeCode): + self.RoomTypeCode = RoomTypeCode + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Rates is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRateType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomRateType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRateType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRateType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRateType'): + if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) + if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Rates is not None: + namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' + self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RatePlanCode', node) + if value is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + self.RatePlanCode = value + self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 + value = find_attr_value_('RoomTypeCode', node) + if value is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + self.RoomTypeCode = value + self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Rates': + obj_ = RatesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rates = obj_ + obj_.original_tagname_ = 'Rates' +# end class RoomRateType + + +class RatesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Rate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Rate is None: + self.Rate = [] + else: + self.Rate = Rate + self.Rate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatesType.subclass: + return RatesType.subclass(*args_, **kwargs_) + else: + return RatesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rate(self): + return self.Rate + def set_Rate(self, Rate): + self.Rate = Rate + def add_Rate(self, value): + self.Rate.append(value) + def insert_Rate_at(self, index, value): + self.Rate.insert(index, value) + def replace_Rate_at(self, index, value): + self.Rate[index] = value + def has__content(self): + if ( + self.Rate + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Rate_ in self.Rate: + namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' + Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Rate': + obj_ = RateType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rate.append(obj_) + obj_.original_tagname_ = 'Rate' +# end class RatesType + + +class RateType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EffectiveDate = _cast(None, EffectiveDate) + self.EffectiveDate_nsprefix_ = None + self.ExpireDate = _cast(None, ExpireDate) + self.ExpireDate_nsprefix_ = None + self.ExpireDateExclusiveInd = _cast(bool, ExpireDateExclusiveInd) + self.ExpireDateExclusiveInd_nsprefix_ = None + self.RateTimeUnit = _cast(None, RateTimeUnit) + self.RateTimeUnit_nsprefix_ = None + self.UnitMultiplier = _cast(int, UnitMultiplier) + self.UnitMultiplier_nsprefix_ = None + if Base is None: + self.Base = [] + else: + self.Base = Base + self.Base_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RateType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RateType.subclass: + return RateType.subclass(*args_, **kwargs_) + else: + return RateType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Base(self): + return self.Base + def set_Base(self, Base): + self.Base = Base + def add_Base(self, value): + self.Base.append(value) + def insert_Base_at(self, index, value): + self.Base.insert(index, value) + def replace_Base_at(self, index, value): + self.Base[index] = value + def get_EffectiveDate(self): + return self.EffectiveDate + def set_EffectiveDate(self, EffectiveDate): + self.EffectiveDate = EffectiveDate + def get_ExpireDate(self): + return self.ExpireDate + def set_ExpireDate(self, ExpireDate): + self.ExpireDate = ExpireDate + def get_ExpireDateExclusiveInd(self): + return self.ExpireDateExclusiveInd + def set_ExpireDateExclusiveInd(self, ExpireDateExclusiveInd): + self.ExpireDateExclusiveInd = ExpireDateExclusiveInd + def get_RateTimeUnit(self): + return self.RateTimeUnit + def set_RateTimeUnit(self, RateTimeUnit): + self.RateTimeUnit = RateTimeUnit + def get_UnitMultiplier(self): + return self.UnitMultiplier + def set_UnitMultiplier(self, UnitMultiplier): + self.UnitMultiplier = UnitMultiplier + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_RateTimeUnitType(self, value): + # Validate type RateTimeUnitType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.Base + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RateType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType'): + if self.EffectiveDate is not None and 'EffectiveDate' not in already_processed: + already_processed.add('EffectiveDate') + outfile.write(' EffectiveDate="%s"' % self.gds_format_date(self.EffectiveDate, input_name='EffectiveDate')) + if self.ExpireDate is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + outfile.write(' ExpireDate="%s"' % self.gds_format_date(self.ExpireDate, input_name='ExpireDate')) + if self.ExpireDateExclusiveInd is not None and 'ExpireDateExclusiveInd' not in already_processed: + already_processed.add('ExpireDateExclusiveInd') + outfile.write(' ExpireDateExclusiveInd="%s"' % self.gds_format_boolean(self.ExpireDateExclusiveInd, input_name='ExpireDateExclusiveInd')) + if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) + if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Base_ in self.Base: + namespaceprefix_ = self.Base_nsprefix_ + ':' if (UseCapturedNS_ and self.Base_nsprefix_) else '' + Base_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Base', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EffectiveDate', node) + if value is not None and 'EffectiveDate' not in already_processed: + already_processed.add('EffectiveDate') + try: + self.EffectiveDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (EffectiveDate): %s' % exp) + self.validate_def_date(self.EffectiveDate) # validate type def_date + value = find_attr_value_('ExpireDate', node) + if value is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + try: + self.ExpireDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (ExpireDate): %s' % exp) + self.validate_def_date(self.ExpireDate) # validate type def_date + value = find_attr_value_('ExpireDateExclusiveInd', node) + if value is not None and 'ExpireDateExclusiveInd' not in already_processed: + already_processed.add('ExpireDateExclusiveInd') + if value in ('true', '1'): + self.ExpireDateExclusiveInd = True + elif value in ('false', '0'): + self.ExpireDateExclusiveInd = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.ExpireDateExclusiveInd) # validate type def_bool + value = find_attr_value_('RateTimeUnit', node) + if value is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + self.RateTimeUnit = value + self.validate_RateTimeUnitType(self.RateTimeUnit) # validate type RateTimeUnitType + value = find_attr_value_('UnitMultiplier', node) + if value is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') + if self.UnitMultiplier <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Base': + obj_ = BaseType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Base.append(obj_) + obj_.original_tagname_ = 'Base' +# end class RateType + + +class BaseType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BaseType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BaseType.subclass: + return BaseType.subclass(*args_, **kwargs_) + else: + return BaseType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BaseType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseType'): + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BaseType + + +class GuestCountsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuestCount is None: + self.GuestCount = [] + else: + self.GuestCount = GuestCount + self.GuestCount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountsType.subclass: + return GuestCountsType.subclass(*args_, **kwargs_) + else: + return GuestCountsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestCount(self): + return self.GuestCount + def set_GuestCount(self, GuestCount): + self.GuestCount = GuestCount + def add_GuestCount(self, value): + self.GuestCount.append(value) + def insert_GuestCount_at(self, index, value): + self.GuestCount.insert(index, value) + def replace_GuestCount_at(self, index, value): + self.GuestCount[index] = value + def has__content(self): + if ( + self.GuestCount + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuestCount_ in self.GuestCount: + namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' + GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestCount': + obj_ = GuestCountType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCount.append(obj_) + obj_.original_tagname_ = 'GuestCount' +# end class GuestCountsType + + +class GuestCountType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Count=None, Age=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Count = _cast(int, Count) + self.Count_nsprefix_ = None + self.Age = _cast(int, Age) + self.Age_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountType.subclass: + return GuestCountType.subclass(*args_, **kwargs_) + else: + return GuestCountType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Count(self): + return self.Count + def set_Count(self, Count): + self.Count = Count + def get_Age(self): + return self.Age + def set_Age(self, Age): + self.Age = Age + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType'): + if self.Count is not None and 'Count' not in already_processed: + already_processed.add('Count') + outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) + if self.Age is not None and 'Age' not in already_processed: + already_processed.add('Age') + outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Count', node) + if value is not None and 'Count' not in already_processed: + already_processed.add('Count') + self.Count = self.gds_parse_integer(value, node, 'Count') + if self.Count <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 + value = find_attr_value_('Age', node) + if value is not None and 'Age' not in already_processed: + already_processed.add('Age') + self.Age = self.gds_parse_integer(value, node, 'Age') + if self.Age < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Age) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class GuestCountType + + +class TimeSpanType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.Duration = _cast(None, Duration) + self.Duration_nsprefix_ = None + self.StartDateWindow = StartDateWindow + self.StartDateWindow_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TimeSpanType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TimeSpanType.subclass: + return TimeSpanType.subclass(*args_, **kwargs_) + else: + return TimeSpanType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StartDateWindow(self): + return self.StartDateWindow + def set_StartDateWindow(self, StartDateWindow): + self.StartDateWindow = StartDateWindow + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def get_Duration(self): + return self.Duration + def set_Duration(self, Duration): + self.Duration = Duration + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_DurationType(self, value): + # Validate type DurationType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_DurationType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType_patterns_, )) + validate_DurationType_patterns_ = [['^(P[0-9]+N)$']] + def has__content(self): + if ( + self.StartDateWindow is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TimeSpanType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + if self.Duration is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.StartDateWindow is not None: + namespaceprefix_ = self.StartDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.StartDateWindow_nsprefix_) else '' + self.StartDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StartDateWindow', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + value = find_attr_value_('Duration', node) + if value is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + self.Duration = value + self.validate_DurationType(self.Duration) # validate type DurationType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'StartDateWindow': + obj_ = StartDateWindowType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StartDateWindow = obj_ + obj_.original_tagname_ = 'StartDateWindow' +# end class TimeSpanType + + +class StartDateWindowType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EarliestDate=None, LatestDate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EarliestDate = _cast(None, EarliestDate) + self.EarliestDate_nsprefix_ = None + self.LatestDate = _cast(None, LatestDate) + self.LatestDate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StartDateWindowType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StartDateWindowType.subclass: + return StartDateWindowType.subclass(*args_, **kwargs_) + else: + return StartDateWindowType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EarliestDate(self): + return self.EarliestDate + def set_EarliestDate(self, EarliestDate): + self.EarliestDate = EarliestDate + def get_LatestDate(self): + return self.LatestDate + def set_LatestDate(self, LatestDate): + self.LatestDate = LatestDate + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StartDateWindowType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StartDateWindowType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StartDateWindowType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StartDateWindowType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StartDateWindowType'): + if self.EarliestDate is not None and 'EarliestDate' not in already_processed: + already_processed.add('EarliestDate') + outfile.write(' EarliestDate="%s"' % self.gds_format_date(self.EarliestDate, input_name='EarliestDate')) + if self.LatestDate is not None and 'LatestDate' not in already_processed: + already_processed.add('LatestDate') + outfile.write(' LatestDate="%s"' % self.gds_format_date(self.LatestDate, input_name='LatestDate')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EarliestDate', node) + if value is not None and 'EarliestDate' not in already_processed: + already_processed.add('EarliestDate') + try: + self.EarliestDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (EarliestDate): %s' % exp) + self.validate_def_date(self.EarliestDate) # validate type def_date + value = find_attr_value_('LatestDate', node) + if value is not None and 'LatestDate' not in already_processed: + already_processed.add('LatestDate') + try: + self.LatestDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (LatestDate): %s' % exp) + self.validate_def_date(self.LatestDate) # validate type def_date + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class StartDateWindowType + + +class GuaranteeType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteesAccepted=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteesAccepted = GuaranteesAccepted + self.GuaranteesAccepted_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteeType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteeType.subclass: + return GuaranteeType.subclass(*args_, **kwargs_) + else: + return GuaranteeType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteesAccepted(self): + return self.GuaranteesAccepted + def set_GuaranteesAccepted(self, GuaranteesAccepted): + self.GuaranteesAccepted = GuaranteesAccepted + def has__content(self): + if ( + self.GuaranteesAccepted is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteeType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuaranteesAccepted is not None: + namespaceprefix_ = self.GuaranteesAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteesAccepted_nsprefix_) else '' + self.GuaranteesAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteesAccepted', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteesAccepted': + obj_ = GuaranteesAcceptedType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteesAccepted = obj_ + obj_.original_tagname_ = 'GuaranteesAccepted' +# end class GuaranteeType + + +class GuaranteesAcceptedType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteeAccepted=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteeAccepted = GuaranteeAccepted + self.GuaranteeAccepted_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteesAcceptedType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteesAcceptedType.subclass: + return GuaranteesAcceptedType.subclass(*args_, **kwargs_) + else: + return GuaranteesAcceptedType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteeAccepted(self): + return self.GuaranteeAccepted + def set_GuaranteeAccepted(self, GuaranteeAccepted): + self.GuaranteeAccepted = GuaranteeAccepted + def has__content(self): + if ( + self.GuaranteeAccepted is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteesAcceptedType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteesAcceptedType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteesAcceptedType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteesAcceptedType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteesAcceptedType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuaranteeAccepted is not None: + namespaceprefix_ = self.GuaranteeAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteeAccepted_nsprefix_) else '' + self.GuaranteeAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteeAccepted', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteeAccepted': + obj_ = GuaranteeAcceptedType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteeAccepted = obj_ + obj_.original_tagname_ = 'GuaranteeAccepted' +# end class GuaranteesAcceptedType + + +class GuaranteeAcceptedType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PaymentCard=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PaymentCard = PaymentCard + self.PaymentCard_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteeAcceptedType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteeAcceptedType.subclass: + return GuaranteeAcceptedType.subclass(*args_, **kwargs_) + else: + return GuaranteeAcceptedType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PaymentCard(self): + return self.PaymentCard + def set_PaymentCard(self, PaymentCard): + self.PaymentCard = PaymentCard + def has__content(self): + if ( + self.PaymentCard is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeAcceptedType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteeAcceptedType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeAcceptedType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeAcceptedType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeAcceptedType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PaymentCard is not None: + namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' + self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PaymentCard': + obj_ = PaymentCardType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PaymentCard = obj_ + obj_.original_tagname_ = 'PaymentCard' +# end class GuaranteeAcceptedType + + +class PaymentCardType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CardCode = _cast(None, CardCode) + self.CardCode_nsprefix_ = None + self.ExpireDate = _cast(None, ExpireDate) + self.ExpireDate_nsprefix_ = None + self.CardHolderName = CardHolderName + self.validate_StringLength1to64(self.CardHolderName) + self.CardHolderName_nsprefix_ = None + self.CardNumber = CardNumber + self.CardNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PaymentCardType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PaymentCardType.subclass: + return PaymentCardType.subclass(*args_, **kwargs_) + else: + return PaymentCardType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CardHolderName(self): + return self.CardHolderName + def set_CardHolderName(self, CardHolderName): + self.CardHolderName = CardHolderName + def get_CardNumber(self): + return self.CardNumber + def set_CardNumber(self, CardNumber): + self.CardNumber = CardNumber + def get_CardCode(self): + return self.CardCode + def set_CardCode(self, CardCode): + self.CardCode = CardCode + def get_ExpireDate(self): + return self.ExpireDate + def set_ExpireDate(self, ExpireDate): + self.ExpireDate = ExpireDate + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_CardCodeType(self, value): + # Validate type CardCodeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CardCodeType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType_patterns_, )) + validate_CardCodeType_patterns_ = [['^([A-Z][A-Z]?)$']] + def validate_ExpireDateType(self, value): + # Validate type ExpireDateType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ExpireDateType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType_patterns_, )) + validate_ExpireDateType_patterns_ = [['^([0-9][0-9][0-9][0-9])$']] + def has__content(self): + if ( + self.CardHolderName is not None or + self.CardNumber is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PaymentCardType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType'): + if self.CardCode is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) + if self.ExpireDate is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CardHolderName is not None: + namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) + if self.CardNumber is not None: + namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' + self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CardCode', node) + if value is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + self.CardCode = value + self.validate_CardCodeType(self.CardCode) # validate type CardCodeType + value = find_attr_value_('ExpireDate', node) + if value is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + self.ExpireDate = value + self.validate_ExpireDateType(self.ExpireDate) # validate type ExpireDateType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CardHolderName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CardHolderName') + value_ = self.gds_validate_string(value_, node, 'CardHolderName') + self.CardHolderName = value_ + self.CardHolderName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CardHolderName) + elif nodeName_ == 'CardNumber': + obj_ = CardNumberType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CardNumber = obj_ + obj_.original_tagname_ = 'CardNumber' +# end class PaymentCardType + + +class CardNumberType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EncryptedValue = _cast(None, EncryptedValue) + self.EncryptedValue_nsprefix_ = None + self.EncryptionMethod = _cast(None, EncryptionMethod) + self.EncryptionMethod_nsprefix_ = None + self.PlainText = PlainText + self.validate_def_nonempty_string(self.PlainText) + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CardNumberType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CardNumberType.subclass: + return CardNumberType.subclass(*args_, **kwargs_) + else: + return CardNumberType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def get_EncryptedValue(self): + return self.EncryptedValue + def set_EncryptedValue(self, EncryptedValue): + self.EncryptedValue = EncryptedValue + def get_EncryptionMethod(self): + return self.EncryptionMethod + def set_EncryptionMethod(self, EncryptionMethod): + self.EncryptionMethod = EncryptionMethod + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CardNumberType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType'): + if self.EncryptedValue is not None and 'EncryptedValue' not in already_processed: + already_processed.add('EncryptedValue') + outfile.write(' EncryptedValue=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptedValue), input_name='EncryptedValue')), )) + if self.EncryptionMethod is not None and 'EncryptionMethod' not in already_processed: + already_processed.add('EncryptionMethod') + outfile.write(' EncryptionMethod=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptionMethod), input_name='EncryptionMethod')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EncryptedValue', node) + if value is not None and 'EncryptedValue' not in already_processed: + already_processed.add('EncryptedValue') + self.EncryptedValue = value + self.validate_def_nonempty_string(self.EncryptedValue) # validate type def_nonempty_string + value = find_attr_value_('EncryptionMethod', node) + if value is not None and 'EncryptionMethod' not in already_processed: + already_processed.add('EncryptionMethod') + self.EncryptionMethod = value + self.validate_def_nonempty_string(self.EncryptionMethod) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PlainText') + value_ = self.gds_validate_string(value_, node, 'PlainText') + self.PlainText = value_ + self.PlainText_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.PlainText) +# end class CardNumberType + + +class TotalType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TotalType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TotalType.subclass: + return TotalType.subclass(*args_, **kwargs_) + else: + return TotalType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TotalType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType'): + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TotalType + + +class ServiceRPHsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ServiceRPH=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if ServiceRPH is None: + self.ServiceRPH = [] + else: + self.ServiceRPH = ServiceRPH + self.ServiceRPH_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceRPHsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceRPHsType.subclass: + return ServiceRPHsType.subclass(*args_, **kwargs_) + else: + return ServiceRPHsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ServiceRPH(self): + return self.ServiceRPH + def set_ServiceRPH(self, ServiceRPH): + self.ServiceRPH = ServiceRPH + def add_ServiceRPH(self, value): + self.ServiceRPH.append(value) + def insert_ServiceRPH_at(self, index, value): + self.ServiceRPH.insert(index, value) + def replace_ServiceRPH_at(self, index, value): + self.ServiceRPH[index] = value + def has__content(self): + if ( + self.ServiceRPH + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceRPHsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ServiceRPH_ in self.ServiceRPH: + namespaceprefix_ = self.ServiceRPH_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPH_nsprefix_) else '' + ServiceRPH_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPH', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ServiceRPH': + obj_ = ServiceRPHType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceRPH.append(obj_) + obj_.original_tagname_ = 'ServiceRPH' +# end class ServiceRPHsType + + +class ServiceRPHType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RPH=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RPH = _cast(None, RPH) + self.RPH_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceRPHType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceRPHType.subclass: + return ServiceRPHType.subclass(*args_, **kwargs_) + else: + return ServiceRPHType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RPH(self): + return self.RPH + def set_RPH(self, RPH): + self.RPH = RPH + def validate_RPHType(self, value): + # Validate type RPHType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_RPHType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RPHType_patterns_, )) + validate_RPHType_patterns_ = [['^([0-9]{1,8})$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceRPHType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHType'): + if self.RPH is not None and 'RPH' not in already_processed: + already_processed.add('RPH') + outfile.write(' RPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RPH), input_name='RPH')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RPH', node) + if value is not None and 'RPH' not in already_processed: + already_processed.add('RPH') + self.RPH = value + self.validate_RPHType(self.RPH) # validate type RPHType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ServiceRPHType + + +class ServicesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Service=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Service is None: + self.Service = [] + else: + self.Service = Service + self.Service_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServicesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServicesType.subclass: + return ServicesType.subclass(*args_, **kwargs_) + else: + return ServicesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Service(self): + return self.Service + def set_Service(self, Service): + self.Service = Service + def add_Service(self, value): + self.Service.append(value) + def insert_Service_at(self, index, value): + self.Service.insert(index, value) + def replace_Service_at(self, index, value): + self.Service[index] = value + def has__content(self): + if ( + self.Service + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServicesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Service_ in self.Service: + namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' + Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Service': + obj_ = ServiceType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Service.append(obj_) + obj_.original_tagname_ = 'Service' +# end class ServicesType + + +class ServiceType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.ServiceCategoryCode = _cast(None, ServiceCategoryCode) + self.ServiceCategoryCode_nsprefix_ = None + self.ServiceInventoryCode = _cast(None, ServiceInventoryCode) + self.ServiceInventoryCode_nsprefix_ = None + self.ServiceRPH = _cast(None, ServiceRPH) + self.ServiceRPH_nsprefix_ = None + self.ServicePricingType = _cast(None, ServicePricingType) + self.ServicePricingType_nsprefix_ = None + self.Inclusive = _cast(bool, Inclusive) + self.Inclusive_nsprefix_ = None + self.Quantity = _cast(int, Quantity) + self.Quantity_nsprefix_ = None + self.ServiceDetails = ServiceDetails + self.ServiceDetails_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceType.subclass: + return ServiceType.subclass(*args_, **kwargs_) + else: + return ServiceType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ServiceDetails(self): + return self.ServiceDetails + def set_ServiceDetails(self, ServiceDetails): + self.ServiceDetails = ServiceDetails + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_ServiceCategoryCode(self): + return self.ServiceCategoryCode + def set_ServiceCategoryCode(self, ServiceCategoryCode): + self.ServiceCategoryCode = ServiceCategoryCode + def get_ServiceInventoryCode(self): + return self.ServiceInventoryCode + def set_ServiceInventoryCode(self, ServiceInventoryCode): + self.ServiceInventoryCode = ServiceInventoryCode + def get_ServiceRPH(self): + return self.ServiceRPH + def set_ServiceRPH(self, ServiceRPH): + self.ServiceRPH = ServiceRPH + def get_ServicePricingType(self): + return self.ServicePricingType + def set_ServicePricingType(self, ServicePricingType): + self.ServicePricingType = ServicePricingType + def get_Inclusive(self): + return self.Inclusive + def set_Inclusive(self, Inclusive): + self.Inclusive = Inclusive + def get_Quantity(self): + return self.Quantity + def set_Quantity(self, Quantity): + self.Quantity = Quantity + def validate_def_one_to_thirty_two_chars_string(self, value): + # Validate type def_one_to_thirty_two_chars_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_TypeType28(self, value): + # Validate type TypeType28, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['16'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType28' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ServiceCategoryCodeType(self, value): + # Validate type ServiceCategoryCodeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['BOARD', 'SUPPLEMENT', 'SPA', 'FOOD', 'BEVERAGE', 'ACTIVITY', 'TOURISTTAX', 'TRANSFER', 'OTHER'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServiceCategoryCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_one_to_sixteen_chars_string(self, value): + # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ServiceRPHType29(self, value): + # Validate type ServiceRPHType29, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ServiceRPHType29_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ServiceRPHType29_patterns_, )) + validate_ServiceRPHType29_patterns_ = [['^([0-9]{1,8})$']] + def validate_ServicePricingTypeType(self, value): + # Validate type ServicePricingTypeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Per night', 'Per person', 'Per person per night', 'Per stay', 'Per use'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServicePricingTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.ServiceDetails is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType'): + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.ServiceCategoryCode is not None and 'ServiceCategoryCode' not in already_processed: + already_processed.add('ServiceCategoryCode') + outfile.write(' ServiceCategoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceCategoryCode), input_name='ServiceCategoryCode')), )) + if self.ServiceInventoryCode is not None and 'ServiceInventoryCode' not in already_processed: + already_processed.add('ServiceInventoryCode') + outfile.write(' ServiceInventoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceInventoryCode), input_name='ServiceInventoryCode')), )) + if self.ServiceRPH is not None and 'ServiceRPH' not in already_processed: + already_processed.add('ServiceRPH') + outfile.write(' ServiceRPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceRPH), input_name='ServiceRPH')), )) + if self.ServicePricingType is not None and 'ServicePricingType' not in already_processed: + already_processed.add('ServicePricingType') + outfile.write(' ServicePricingType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServicePricingType), input_name='ServicePricingType')), )) + if self.Inclusive is not None and 'Inclusive' not in already_processed: + already_processed.add('Inclusive') + outfile.write(' Inclusive="%s"' % self.gds_format_boolean(self.Inclusive, input_name='Inclusive')) + if self.Quantity is not None and 'Quantity' not in already_processed: + already_processed.add('Quantity') + outfile.write(' Quantity="%s"' % self.gds_format_integer(self.Quantity, input_name='Quantity')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ServiceDetails is not None: + namespaceprefix_ = self.ServiceDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDetails_nsprefix_) else '' + self.ServiceDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDetails', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_def_one_to_thirty_two_chars_string(self.ID) # validate type def_one_to_thirty_two_chars_string + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType28(self.Type) # validate type TypeType28 + value = find_attr_value_('ServiceCategoryCode', node) + if value is not None and 'ServiceCategoryCode' not in already_processed: + already_processed.add('ServiceCategoryCode') + self.ServiceCategoryCode = value + self.validate_ServiceCategoryCodeType(self.ServiceCategoryCode) # validate type ServiceCategoryCodeType + value = find_attr_value_('ServiceInventoryCode', node) + if value is not None and 'ServiceInventoryCode' not in already_processed: + already_processed.add('ServiceInventoryCode') + self.ServiceInventoryCode = value + self.validate_def_one_to_sixteen_chars_string(self.ServiceInventoryCode) # validate type def_one_to_sixteen_chars_string + value = find_attr_value_('ServiceRPH', node) + if value is not None and 'ServiceRPH' not in already_processed: + already_processed.add('ServiceRPH') + self.ServiceRPH = value + self.validate_ServiceRPHType29(self.ServiceRPH) # validate type ServiceRPHType29 + value = find_attr_value_('ServicePricingType', node) + if value is not None and 'ServicePricingType' not in already_processed: + already_processed.add('ServicePricingType') + self.ServicePricingType = value + self.validate_ServicePricingTypeType(self.ServicePricingType) # validate type ServicePricingTypeType + value = find_attr_value_('Inclusive', node) + if value is not None and 'Inclusive' not in already_processed: + already_processed.add('Inclusive') + if value in ('true', '1'): + self.Inclusive = True + elif value in ('false', '0'): + self.Inclusive = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Quantity', node) + if value is not None and 'Quantity' not in already_processed: + already_processed.add('Quantity') + self.Quantity = self.gds_parse_integer(value, node, 'Quantity') + if self.Quantity <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Quantity) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ServiceDetails': + obj_ = ServiceDetailsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceDetails = obj_ + obj_.original_tagname_ = 'ServiceDetails' +# end class ServiceType + + +class ServiceDetailsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuestCounts = GuestCounts + self.GuestCounts_nsprefix_ = None + self.TimeSpan = TimeSpan + self.TimeSpan_nsprefix_ = None + self.Comments = Comments + self.Comments_nsprefix_ = None + self.Total = Total + self.Total_nsprefix_ = None + self.ServiceDescription = ServiceDescription + self.ServiceDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceDetailsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceDetailsType.subclass: + return ServiceDetailsType.subclass(*args_, **kwargs_) + else: + return ServiceDetailsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestCounts(self): + return self.GuestCounts + def set_GuestCounts(self, GuestCounts): + self.GuestCounts = GuestCounts + def get_TimeSpan(self): + return self.TimeSpan + def set_TimeSpan(self, TimeSpan): + self.TimeSpan = TimeSpan + def get_Comments(self): + return self.Comments + def set_Comments(self, Comments): + self.Comments = Comments + def get_Total(self): + return self.Total + def set_Total(self, Total): + self.Total = Total + def get_ServiceDescription(self): + return self.ServiceDescription + def set_ServiceDescription(self, ServiceDescription): + self.ServiceDescription = ServiceDescription + def has__content(self): + if ( + self.GuestCounts is not None or + self.TimeSpan is not None or + self.Comments is not None or + self.Total is not None or + self.ServiceDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDetailsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceDetailsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDetailsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDetailsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDetailsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuestCounts is not None: + namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' + self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) + if self.TimeSpan is not None: + namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' + self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) + if self.Comments is not None: + namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' + self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) + if self.Total is not None: + namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' + self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) + if self.ServiceDescription is not None: + namespaceprefix_ = self.ServiceDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDescription_nsprefix_) else '' + self.ServiceDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestCounts': + obj_ = GuestCountsType19.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCounts = obj_ + obj_.original_tagname_ = 'GuestCounts' + elif nodeName_ == 'TimeSpan': + obj_ = TimeSpanType21.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TimeSpan = obj_ + obj_.original_tagname_ = 'TimeSpan' + elif nodeName_ == 'Comments': + obj_ = CommentsType22.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comments = obj_ + obj_.original_tagname_ = 'Comments' + elif nodeName_ == 'Total': + obj_ = TotalType25.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Total = obj_ + obj_.original_tagname_ = 'Total' + elif nodeName_ == 'ServiceDescription': + obj_ = ServiceDescriptionType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceDescription = obj_ + obj_.original_tagname_ = 'ServiceDescription' +# end class ServiceDetailsType + + +class GuestCountsType19(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuestCount is None: + self.GuestCount = [] + else: + self.GuestCount = GuestCount + self.GuestCount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountsType19) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountsType19.subclass: + return GuestCountsType19.subclass(*args_, **kwargs_) + else: + return GuestCountsType19(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestCount(self): + return self.GuestCount + def set_GuestCount(self, GuestCount): + self.GuestCount = GuestCount + def add_GuestCount(self, value): + self.GuestCount.append(value) + def insert_GuestCount_at(self, index, value): + self.GuestCount.insert(index, value) + def replace_GuestCount_at(self, index, value): + self.GuestCount[index] = value + def has__content(self): + if ( + self.GuestCount + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType19', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType19') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountsType19': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType19') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType19', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType19'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType19', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuestCount_ in self.GuestCount: + namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' + GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestCount': + obj_ = GuestCountType20.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCount.append(obj_) + obj_.original_tagname_ = 'GuestCount' +# end class GuestCountsType19 + + +class GuestCountType20(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Age=None, Count=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Age = _cast(int, Age) + self.Age_nsprefix_ = None + self.Count = _cast(int, Count) + self.Count_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountType20) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountType20.subclass: + return GuestCountType20.subclass(*args_, **kwargs_) + else: + return GuestCountType20(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Age(self): + return self.Age + def set_Age(self, Age): + self.Age = Age + def get_Count(self): + return self.Count + def set_Count(self, Count): + self.Count = Count + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType20', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType20') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountType20': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType20') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType20', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType20'): + if self.Age is not None and 'Age' not in already_processed: + already_processed.add('Age') + outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) + if self.Count is not None and 'Count' not in already_processed: + already_processed.add('Count') + outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType20', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Age', node) + if value is not None and 'Age' not in already_processed: + already_processed.add('Age') + self.Age = self.gds_parse_integer(value, node, 'Age') + if self.Age <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Age) # validate type def_int_gt0 + value = find_attr_value_('Count', node) + if value is not None and 'Count' not in already_processed: + already_processed.add('Count') + self.Count = self.gds_parse_integer(value, node, 'Count') + if self.Count <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class GuestCountType20 + + +class TimeSpanType21(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TimeSpanType21) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TimeSpanType21.subclass: + return TimeSpanType21.subclass(*args_, **kwargs_) + else: + return TimeSpanType21(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_def_datetime(self, value): + # Validate type def_datetime, a restriction on xs:dateTime. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.datetime): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_datetime_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) + validate_def_datetime_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType21', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType21') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TimeSpanType21': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType21') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType21', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType21'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_datetime(self.End, input_name='End')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType21', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (Start): %s' % exp) + self.validate_def_datetime(self.Start) # validate type def_datetime + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (End): %s' % exp) + self.validate_def_datetime(self.End) # validate type def_datetime + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TimeSpanType21 + + +class CommentsType22(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Comment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Comment = Comment + self.Comment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentsType22) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentsType22.subclass: + return CommentsType22.subclass(*args_, **kwargs_) + else: + return CommentsType22(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Comment(self): + return self.Comment + def set_Comment(self, Comment): + self.Comment = Comment + def has__content(self): + if ( + self.Comment is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType22', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType22') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentsType22': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType22') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType22', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType22'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType22', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Comment is not None: + namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' + self.Comment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Comment': + obj_ = CommentType23.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comment = obj_ + obj_.original_tagname_ = 'Comment' +# end class CommentsType22 + + +class CommentType23(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentType23) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentType23.subclass: + return CommentType23.subclass(*args_, **kwargs_) + else: + return CommentType23(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType23', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType23') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentType23': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType23') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType23', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType23'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType23', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType24.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text = obj_ + obj_.original_tagname_ = 'Text' +# end class CommentType23 + + +class TextType24(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType24) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType24.subclass: + return TextType24.subclass(*args_, **kwargs_) + else: + return TextType24(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType(self, value): + # Validate type TextFormatType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType24', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType24') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType24': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType24') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType24'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType24', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType(self.TextFormat) # validate type TextFormatType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType24 + + +class TotalType25(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TotalType25) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TotalType25.subclass: + return TotalType25.subclass(*args_, **kwargs_) + else: + return TotalType25(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType25', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType25') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TotalType25': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType25') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType25', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType25'): + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType25', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TotalType25 + + +class ServiceDescriptionType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceDescriptionType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceDescriptionType.subclass: + return ServiceDescriptionType.subclass(*args_, **kwargs_) + else: + return ServiceDescriptionType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDescriptionType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceDescriptionType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDescriptionType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDescriptionType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDescriptionType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType26.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text = obj_ + obj_.original_tagname_ = 'Text' +# end class ServiceDescriptionType + + +class TextType26(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType26) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType26.subclass: + return TextType26.subclass(*args_, **kwargs_) + else: + return TextType26(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType27(self, value): + # Validate type TextFormatType27, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType27' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType26', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType26') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType26': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType26') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType26'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType26', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType27(self.TextFormat) # validate type TextFormatType27 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType26 + + +class ResGuestsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ResGuest=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ResGuest = ResGuest + self.ResGuest_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ResGuestsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ResGuestsType.subclass: + return ResGuestsType.subclass(*args_, **kwargs_) + else: + return ResGuestsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ResGuest(self): + return self.ResGuest + def set_ResGuest(self, ResGuest): + self.ResGuest = ResGuest + def has__content(self): + if ( + self.ResGuest is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ResGuestsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ResGuest is not None: + namespaceprefix_ = self.ResGuest_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuest_nsprefix_) else '' + self.ResGuest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuest', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ResGuest': + obj_ = ResGuestType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ResGuest = obj_ + obj_.original_tagname_ = 'ResGuest' +# end class ResGuestsType + + +class ResGuestType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Profiles=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Profiles = Profiles + self.Profiles_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ResGuestType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ResGuestType.subclass: + return ResGuestType.subclass(*args_, **kwargs_) + else: + return ResGuestType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Profiles(self): + return self.Profiles + def set_Profiles(self, Profiles): + self.Profiles = Profiles + def has__content(self): + if ( + self.Profiles is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ResGuestType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Profiles is not None: + namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' + self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Profiles': + obj_ = ProfilesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profiles = obj_ + obj_.original_tagname_ = 'Profiles' +# end class ResGuestType + + +class ProfilesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ProfileInfo = ProfileInfo + self.ProfileInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfilesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfilesType.subclass: + return ProfilesType.subclass(*args_, **kwargs_) + else: + return ProfilesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ProfileInfo(self): + return self.ProfileInfo + def set_ProfileInfo(self, ProfileInfo): + self.ProfileInfo = ProfileInfo + def has__content(self): + if ( + self.ProfileInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfilesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ProfileInfo is not None: + namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' + self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ProfileInfo': + obj_ = ProfileInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ProfileInfo = obj_ + obj_.original_tagname_ = 'ProfileInfo' +# end class ProfilesType + + +class ProfileInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Profile=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Profile = Profile + self.Profile_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileInfoType.subclass: + return ProfileInfoType.subclass(*args_, **kwargs_) + else: + return ProfileInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Profile(self): + return self.Profile + def set_Profile(self, Profile): + self.Profile = Profile + def has__content(self): + if ( + self.Profile is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Profile is not None: + namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' + self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Profile': + obj_ = ProfileType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profile = obj_ + obj_.original_tagname_ = 'Profile' +# end class ProfileInfoType + + +class ProfileType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Customer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Customer = Customer + self.Customer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileType.subclass: + return ProfileType.subclass(*args_, **kwargs_) + else: + return ProfileType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Customer(self): + return self.Customer + def set_Customer(self, Customer): + self.Customer = Customer + def has__content(self): + if ( + self.Customer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Customer is not None: + namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' + self.Customer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Customer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Customer': + obj_ = CustomerType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Customer = obj_ + obj_.original_tagname_ = 'Customer' +# end class ProfileType + + +class CustomerType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Gender = _cast(None, Gender) + self.Gender_nsprefix_ = None + self.BirthDate = _cast(None, BirthDate) + self.BirthDate_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.PersonName = PersonName + self.PersonName_nsprefix_ = None + if Telephone is None: + self.Telephone = [] + else: + self.Telephone = Telephone + self.Telephone_nsprefix_ = None + self.Email = Email + self.Email_nsprefix_ = None + self.Address = Address + self.Address_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CustomerType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CustomerType.subclass: + return CustomerType.subclass(*args_, **kwargs_) + else: + return CustomerType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PersonName(self): + return self.PersonName + def set_PersonName(self, PersonName): + self.PersonName = PersonName + def get_Telephone(self): + return self.Telephone + def set_Telephone(self, Telephone): + self.Telephone = Telephone + def add_Telephone(self, value): + self.Telephone.append(value) + def insert_Telephone_at(self, index, value): + self.Telephone.insert(index, value) + def replace_Telephone_at(self, index, value): + self.Telephone[index] = value + def get_Email(self): + return self.Email + def set_Email(self, Email): + self.Email = Email + def get_Address(self): + return self.Address + def set_Address(self, Address): + self.Address = Address + def get_Gender(self): + return self.Gender + def set_Gender(self, Gender): + self.Gender = Gender + def get_BirthDate(self): + return self.BirthDate + def set_BirthDate(self, BirthDate): + self.BirthDate = BirthDate + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def validate_GenderType(self, value): + # Validate type GenderType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_GenderType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_GenderType_patterns_, )) + validate_GenderType_patterns_ = [['^((Unknown|Male|Female))$']] + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_LanguageType32(self, value): + # Validate type LanguageType32, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType32_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType32_patterns_, )) + validate_LanguageType32_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + self.PersonName is not None or + self.Telephone or + self.Email is not None or + self.Address is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CustomerType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CustomerType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerType'): + if self.Gender is not None and 'Gender' not in already_processed: + already_processed.add('Gender') + outfile.write(' Gender=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Gender), input_name='Gender')), )) + if self.BirthDate is not None and 'BirthDate' not in already_processed: + already_processed.add('BirthDate') + outfile.write(' BirthDate="%s"' % self.gds_format_date(self.BirthDate, input_name='BirthDate')) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PersonName is not None: + namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' + self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) + for Telephone_ in self.Telephone: + namespaceprefix_ = self.Telephone_nsprefix_ + ':' if (UseCapturedNS_ and self.Telephone_nsprefix_) else '' + Telephone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telephone', pretty_print=pretty_print) + if self.Email is not None: + namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' + self.Email.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) + if self.Address is not None: + namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' + self.Address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Gender', node) + if value is not None and 'Gender' not in already_processed: + already_processed.add('Gender') + self.Gender = value + self.validate_GenderType(self.Gender) # validate type GenderType + value = find_attr_value_('BirthDate', node) + if value is not None and 'BirthDate' not in already_processed: + already_processed.add('BirthDate') + try: + self.BirthDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (BirthDate): %s' % exp) + self.validate_def_date(self.BirthDate) # validate type def_date + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType32(self.Language) # validate type LanguageType32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PersonName': + obj_ = PersonNameType30.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PersonName = obj_ + obj_.original_tagname_ = 'PersonName' + elif nodeName_ == 'Telephone': + obj_ = TelephoneType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telephone.append(obj_) + obj_.original_tagname_ = 'Telephone' + elif nodeName_ == 'Email': + obj_ = EmailType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Email = obj_ + obj_.original_tagname_ = 'Email' + elif nodeName_ == 'Address': + obj_ = AddressType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Address = obj_ + obj_.original_tagname_ = 'Address' +# end class CustomerType + + +class PersonNameType30(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NamePrefix = NamePrefix + self.validate_StringLength1to16(self.NamePrefix) + self.NamePrefix_nsprefix_ = None + self.GivenName = GivenName + self.validate_StringLength1to64(self.GivenName) + self.GivenName_nsprefix_ = None + self.Surname = Surname + self.validate_StringLength1to64(self.Surname) + self.Surname_nsprefix_ = None + self.NameTitle = NameTitle + self.validate_StringLength1to16(self.NameTitle) + self.NameTitle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PersonNameType30) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PersonNameType30.subclass: + return PersonNameType30.subclass(*args_, **kwargs_) + else: + return PersonNameType30(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NamePrefix(self): + return self.NamePrefix + def set_NamePrefix(self, NamePrefix): + self.NamePrefix = NamePrefix + def get_GivenName(self): + return self.GivenName + def set_GivenName(self, GivenName): + self.GivenName = GivenName + def get_Surname(self): + return self.Surname + def set_Surname(self, Surname): + self.Surname = Surname + def get_NameTitle(self): + return self.NameTitle + def set_NameTitle(self, NameTitle): + self.NameTitle = NameTitle + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.NamePrefix is not None or + self.GivenName is not None or + self.Surname is not None or + self.NameTitle is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType30', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType30') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PersonNameType30': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType30') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType30', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType30'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType30', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.NamePrefix is not None: + namespaceprefix_ = self.NamePrefix_nsprefix_ + ':' if (UseCapturedNS_ and self.NamePrefix_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sNamePrefix>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NamePrefix), input_name='NamePrefix')), namespaceprefix_ , eol_)) + if self.GivenName is not None: + namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sGivenName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GivenName), input_name='GivenName')), namespaceprefix_ , eol_)) + if self.Surname is not None: + namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSurname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Surname), input_name='Surname')), namespaceprefix_ , eol_)) + if self.NameTitle is not None: + namespaceprefix_ = self.NameTitle_nsprefix_ + ':' if (UseCapturedNS_ and self.NameTitle_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sNameTitle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NameTitle), input_name='NameTitle')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'NamePrefix': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'NamePrefix') + value_ = self.gds_validate_string(value_, node, 'NamePrefix') + self.NamePrefix = value_ + self.NamePrefix_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.NamePrefix) + elif nodeName_ == 'GivenName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'GivenName') + value_ = self.gds_validate_string(value_, node, 'GivenName') + self.GivenName = value_ + self.GivenName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.GivenName) + elif nodeName_ == 'Surname': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Surname') + value_ = self.gds_validate_string(value_, node, 'Surname') + self.Surname = value_ + self.Surname_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.Surname) + elif nodeName_ == 'NameTitle': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'NameTitle') + value_ = self.gds_validate_string(value_, node, 'NameTitle') + self.NameTitle = value_ + self.NameTitle_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.NameTitle) +# end class PersonNameType30 + + +class TelephoneType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PhoneTechType = _cast(None, PhoneTechType) + self.PhoneTechType_nsprefix_ = None + self.PhoneNumber = _cast(None, PhoneNumber) + self.PhoneNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TelephoneType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TelephoneType.subclass: + return TelephoneType.subclass(*args_, **kwargs_) + else: + return TelephoneType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PhoneTechType(self): + return self.PhoneTechType + def set_PhoneTechType(self, PhoneTechType): + self.PhoneTechType = PhoneTechType + def get_PhoneNumber(self): + return self.PhoneNumber + def set_PhoneNumber(self, PhoneNumber): + self.PhoneNumber = PhoneNumber + def validate_PhoneTechTypeType(self, value): + # Validate type PhoneTechTypeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneTechTypeType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType_patterns_, )) + validate_PhoneTechTypeType_patterns_ = [['^((1|3|5))$']] + def validate_PhoneNumberType(self, value): + # Validate type PhoneNumberType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneNumberType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType_patterns_, )) + validate_PhoneNumberType_patterns_ = [['^(\\+?[0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TelephoneType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneType'): + if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) + if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('PhoneTechType', node) + if value is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + self.PhoneTechType = value + self.validate_PhoneTechTypeType(self.PhoneTechType) # validate type PhoneTechTypeType + value = find_attr_value_('PhoneNumber', node) + if value is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + self.PhoneNumber = value + self.validate_PhoneNumberType(self.PhoneNumber) # validate type PhoneNumberType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TelephoneType + + +class EmailType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Remark=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Remark = _cast(None, Remark) + self.Remark_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EmailType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EmailType.subclass: + return EmailType.subclass(*args_, **kwargs_) + else: + return EmailType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Remark(self): + return self.Remark + def set_Remark(self, Remark): + self.Remark = Remark + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_email_string(self, value): + result = True + # Validate type def_email_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_email_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_email_string_patterns_, )) + result = False + return result + validate_def_email_string_patterns_ = [['^(\\S+@\\S+)$']] + def validate_RemarkType(self, value): + # Validate type RemarkType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_RemarkType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType_patterns_, )) + validate_RemarkType_patterns_ = [['^(newsletter:(no|yes))$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EmailType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType'): + if self.Remark is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Remark', node) + if value is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + self.Remark = value + self.validate_RemarkType(self.Remark) # validate type RemarkType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class EmailType + + +class AddressType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Remark = _cast(None, Remark) + self.Remark_nsprefix_ = None + self.AddressLine = AddressLine + self.validate_StringLength1to255(self.AddressLine) + self.AddressLine_nsprefix_ = None + self.CityName = CityName + self.validate_StringLength1to64(self.CityName) + self.CityName_nsprefix_ = None + self.PostalCode = PostalCode + self.validate_StringLength1to16(self.PostalCode) + self.PostalCode_nsprefix_ = None + self.CountryName = CountryName + self.CountryName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressType.subclass: + return AddressType.subclass(*args_, **kwargs_) + else: + return AddressType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AddressLine(self): + return self.AddressLine + def set_AddressLine(self, AddressLine): + self.AddressLine = AddressLine + def get_CityName(self): + return self.CityName + def set_CityName(self, CityName): + self.CityName = CityName + def get_PostalCode(self): + return self.PostalCode + def set_PostalCode(self, PostalCode): + self.PostalCode = PostalCode + def get_CountryName(self): + return self.CountryName + def set_CountryName(self, CountryName): + self.CountryName = CountryName + def get_Remark(self): + return self.Remark + def set_Remark(self, Remark): + self.Remark = Remark + def validate_StringLength1to255(self, value): + result = True + # Validate type StringLength1to255, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 255: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_RemarkType31(self, value): + # Validate type RemarkType31, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_RemarkType31_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType31_patterns_, )) + validate_RemarkType31_patterns_ = [['^(catalog:(no|yes))$']] + def has__content(self): + if ( + self.AddressLine is not None or + self.CityName is not None or + self.PostalCode is not None or + self.CountryName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType'): + if self.Remark is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AddressLine is not None: + namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) + if self.CityName is not None: + namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) + if self.PostalCode is not None: + namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) + if self.CountryName is not None: + namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' + self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Remark', node) + if value is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + self.Remark = value + self.validate_RemarkType31(self.Remark) # validate type RemarkType31 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AddressLine': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine') + value_ = self.gds_validate_string(value_, node, 'AddressLine') + self.AddressLine = value_ + self.AddressLine_nsprefix_ = child_.prefix + # validate type StringLength1to255 + self.validate_StringLength1to255(self.AddressLine) + elif nodeName_ == 'CityName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CityName') + value_ = self.gds_validate_string(value_, node, 'CityName') + self.CityName = value_ + self.CityName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CityName) + elif nodeName_ == 'PostalCode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PostalCode') + value_ = self.gds_validate_string(value_, node, 'PostalCode') + self.PostalCode = value_ + self.PostalCode_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.PostalCode) + elif nodeName_ == 'CountryName': + obj_ = CountryNameType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CountryName = obj_ + obj_.original_tagname_ = 'CountryName' +# end class AddressType + + +class CountryNameType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CountryNameType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CountryNameType.subclass: + return CountryNameType.subclass(*args_, **kwargs_) + else: + return CountryNameType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def validate_CodeType(self, value): + # Validate type CodeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CodeType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType_patterns_, )) + validate_CodeType_patterns_ = [['^([A-Z][A-Z])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CountryNameType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType(self.Code) # validate type CodeType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CountryNameType + + +class ResGlobalInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Comments = Comments + self.Comments_nsprefix_ = None + self.SpecialRequests = SpecialRequests + self.SpecialRequests_nsprefix_ = None + self.DepositPayments = DepositPayments + self.DepositPayments_nsprefix_ = None + self.CancelPenalties = CancelPenalties + self.CancelPenalties_nsprefix_ = None + self.HotelReservationIDs = HotelReservationIDs + self.HotelReservationIDs_nsprefix_ = None + self.Profiles = Profiles + self.Profiles_nsprefix_ = None + self.BasicPropertyInfo = BasicPropertyInfo + self.BasicPropertyInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ResGlobalInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ResGlobalInfoType.subclass: + return ResGlobalInfoType.subclass(*args_, **kwargs_) + else: + return ResGlobalInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Comments(self): + return self.Comments + def set_Comments(self, Comments): + self.Comments = Comments + def get_SpecialRequests(self): + return self.SpecialRequests + def set_SpecialRequests(self, SpecialRequests): + self.SpecialRequests = SpecialRequests + def get_DepositPayments(self): + return self.DepositPayments + def set_DepositPayments(self, DepositPayments): + self.DepositPayments = DepositPayments + def get_CancelPenalties(self): + return self.CancelPenalties + def set_CancelPenalties(self, CancelPenalties): + self.CancelPenalties = CancelPenalties + def get_HotelReservationIDs(self): + return self.HotelReservationIDs + def set_HotelReservationIDs(self, HotelReservationIDs): + self.HotelReservationIDs = HotelReservationIDs + def get_Profiles(self): + return self.Profiles + def set_Profiles(self, Profiles): + self.Profiles = Profiles + def get_BasicPropertyInfo(self): + return self.BasicPropertyInfo + def set_BasicPropertyInfo(self, BasicPropertyInfo): + self.BasicPropertyInfo = BasicPropertyInfo + def has__content(self): + if ( + self.Comments is not None or + self.SpecialRequests is not None or + self.DepositPayments is not None or + self.CancelPenalties is not None or + self.HotelReservationIDs is not None or + self.Profiles is not None or + self.BasicPropertyInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGlobalInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ResGlobalInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGlobalInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGlobalInfoType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGlobalInfoType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Comments is not None: + namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' + self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) + if self.SpecialRequests is not None: + namespaceprefix_ = self.SpecialRequests_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequests_nsprefix_) else '' + self.SpecialRequests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequests', pretty_print=pretty_print) + if self.DepositPayments is not None: + namespaceprefix_ = self.DepositPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.DepositPayments_nsprefix_) else '' + self.DepositPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepositPayments', pretty_print=pretty_print) + if self.CancelPenalties is not None: + namespaceprefix_ = self.CancelPenalties_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalties_nsprefix_) else '' + self.CancelPenalties.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalties', pretty_print=pretty_print) + if self.HotelReservationIDs is not None: + namespaceprefix_ = self.HotelReservationIDs_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationIDs_nsprefix_) else '' + self.HotelReservationIDs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationIDs', pretty_print=pretty_print) + if self.Profiles is not None: + namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' + self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) + if self.BasicPropertyInfo is not None: + namespaceprefix_ = self.BasicPropertyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.BasicPropertyInfo_nsprefix_) else '' + self.BasicPropertyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BasicPropertyInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Comments': + obj_ = CommentsType33.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comments = obj_ + obj_.original_tagname_ = 'Comments' + elif nodeName_ == 'SpecialRequests': + obj_ = SpecialRequestsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SpecialRequests = obj_ + obj_.original_tagname_ = 'SpecialRequests' + elif nodeName_ == 'DepositPayments': + obj_ = DepositPaymentsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DepositPayments = obj_ + obj_.original_tagname_ = 'DepositPayments' + elif nodeName_ == 'CancelPenalties': + obj_ = CancelPenaltiesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPenalties = obj_ + obj_.original_tagname_ = 'CancelPenalties' + elif nodeName_ == 'HotelReservationIDs': + obj_ = HotelReservationIDsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservationIDs = obj_ + obj_.original_tagname_ = 'HotelReservationIDs' + elif nodeName_ == 'Profiles': + obj_ = ProfilesType44.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profiles = obj_ + obj_.original_tagname_ = 'Profiles' + elif nodeName_ == 'BasicPropertyInfo': + obj_ = BasicPropertyInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BasicPropertyInfo = obj_ + obj_.original_tagname_ = 'BasicPropertyInfo' +# end class ResGlobalInfoType + + +class CommentsType33(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Comment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Comment is None: + self.Comment = [] + else: + self.Comment = Comment + self.Comment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentsType33) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentsType33.subclass: + return CommentsType33.subclass(*args_, **kwargs_) + else: + return CommentsType33(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Comment(self): + return self.Comment + def set_Comment(self, Comment): + self.Comment = Comment + def add_Comment(self, value): + self.Comment.append(value) + def insert_Comment_at(self, index, value): + self.Comment.insert(index, value) + def replace_Comment_at(self, index, value): + self.Comment[index] = value + def has__content(self): + if ( + self.Comment + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType33', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType33') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentsType33': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType33') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType33', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType33'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType33', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Comment_ in self.Comment: + namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' + Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Comment': + obj_ = CommentType34.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comment.append(obj_) + obj_.original_tagname_ = 'Comment' +# end class CommentsType33 + + +class CommentType34(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + self.Text = Text + self.validate_def_nonempty_string(self.Text) + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentType34) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentType34.subclass: + return CommentType34.subclass(*args_, **kwargs_) + else: + return CommentType34(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_NameType36(self, value): + # Validate type NameType36, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['included services', 'customer comment', 'additional info'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType36' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem or + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType34', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType34') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentType34': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType34') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType34', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType34'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType34', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType36(self.Name) # validate type NameType36 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + obj_ = ListItemType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ListItem.append(obj_) + obj_.original_tagname_ = 'ListItem' + elif nodeName_ == 'Text': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Text') + value_ = self.gds_validate_string(value_, node, 'Text') + self.Text = value_ + self.Text_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.Text) +# end class CommentType34 + + +class ListItemType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ListItem = _cast(int, ListItem) + self.ListItem_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ListItemType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ListItemType.subclass: + return ListItemType.subclass(*args_, **kwargs_) + else: + return ListItemType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_LanguageType35(self, value): + # Validate type LanguageType35, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType35_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType35_patterns_, )) + validate_LanguageType35_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ListItemType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType'): + if self.ListItem is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ListItem', node) + if value is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + self.ListItem = self.gds_parse_integer(value, node, 'ListItem') + if self.ListItem < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType35(self.Language) # validate type LanguageType35 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ListItemType + + +class SpecialRequestsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, SpecialRequest=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if SpecialRequest is None: + self.SpecialRequest = [] + else: + self.SpecialRequest = SpecialRequest + self.SpecialRequest_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SpecialRequestsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SpecialRequestsType.subclass: + return SpecialRequestsType.subclass(*args_, **kwargs_) + else: + return SpecialRequestsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_SpecialRequest(self): + return self.SpecialRequest + def set_SpecialRequest(self, SpecialRequest): + self.SpecialRequest = SpecialRequest + def add_SpecialRequest(self, value): + self.SpecialRequest.append(value) + def insert_SpecialRequest_at(self, index, value): + self.SpecialRequest.insert(index, value) + def replace_SpecialRequest_at(self, index, value): + self.SpecialRequest[index] = value + def has__content(self): + if ( + self.SpecialRequest + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SpecialRequestsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for SpecialRequest_ in self.SpecialRequest: + namespaceprefix_ = self.SpecialRequest_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequest_nsprefix_) else '' + SpecialRequest_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequest', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'SpecialRequest': + obj_ = SpecialRequestType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SpecialRequest.append(obj_) + obj_.original_tagname_ = 'SpecialRequest' +# end class SpecialRequestsType + + +class SpecialRequestType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RequestCode=None, CodeContext=None, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RequestCode = _cast(None, RequestCode) + self.RequestCode_nsprefix_ = None + self.CodeContext = _cast(None, CodeContext) + self.CodeContext_nsprefix_ = None + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SpecialRequestType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SpecialRequestType.subclass: + return SpecialRequestType.subclass(*args_, **kwargs_) + else: + return SpecialRequestType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def get_RequestCode(self): + return self.RequestCode + def set_RequestCode(self, RequestCode): + self.RequestCode = RequestCode + def get_CodeContext(self): + return self.CodeContext + def set_CodeContext(self, CodeContext): + self.CodeContext = CodeContext + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_CodeContextType(self, value): + # Validate type CodeContextType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS', 'HOTEL'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SpecialRequestType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestType'): + if self.RequestCode is not None and 'RequestCode' not in already_processed: + already_processed.add('RequestCode') + outfile.write(' RequestCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RequestCode), input_name='RequestCode')), )) + if self.CodeContext is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RequestCode', node) + if value is not None and 'RequestCode' not in already_processed: + already_processed.add('RequestCode') + self.RequestCode = value + self.validate_StringLength1to16(self.RequestCode) # validate type StringLength1to16 + value = find_attr_value_('CodeContext', node) + if value is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + self.CodeContext = value + self.validate_CodeContextType(self.CodeContext) # validate type CodeContextType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType37.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text = obj_ + obj_.original_tagname_ = 'Text' +# end class SpecialRequestType + + +class TextType37(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType37) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType37.subclass: + return TextType37.subclass(*args_, **kwargs_) + else: + return TextType37(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TextFormatType38(self, value): + # Validate type TextFormatType38, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType38' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType37', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType37') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType37': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType37') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType37'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType37', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType38(self.TextFormat) # validate type TextFormatType38 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType37 + + +class DepositPaymentsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuaranteePayment is None: + self.GuaranteePayment = [] + else: + self.GuaranteePayment = GuaranteePayment + self.GuaranteePayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DepositPaymentsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DepositPaymentsType.subclass: + return DepositPaymentsType.subclass(*args_, **kwargs_) + else: + return DepositPaymentsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteePayment(self): + return self.GuaranteePayment + def set_GuaranteePayment(self, GuaranteePayment): + self.GuaranteePayment = GuaranteePayment + def add_GuaranteePayment(self, value): + self.GuaranteePayment.append(value) + def insert_GuaranteePayment_at(self, index, value): + self.GuaranteePayment.insert(index, value) + def replace_GuaranteePayment_at(self, index, value): + self.GuaranteePayment[index] = value + def has__content(self): + if ( + self.GuaranteePayment + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepositPaymentsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DepositPaymentsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepositPaymentsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepositPaymentsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepositPaymentsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuaranteePayment_ in self.GuaranteePayment: + namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' + GuaranteePayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteePayment': + obj_ = GuaranteePaymentType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteePayment.append(obj_) + obj_.original_tagname_ = 'GuaranteePayment' +# end class DepositPaymentsType + + +class GuaranteePaymentType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.GuaranteeCode = _cast(None, GuaranteeCode) + self.GuaranteeCode_nsprefix_ = None + self.AcceptedPayments = AcceptedPayments + self.AcceptedPayments_nsprefix_ = None + self.AmountPercent = AmountPercent + self.AmountPercent_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteePaymentType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteePaymentType.subclass: + return GuaranteePaymentType.subclass(*args_, **kwargs_) + else: + return GuaranteePaymentType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayments(self): + return self.AcceptedPayments + def set_AcceptedPayments(self, AcceptedPayments): + self.AcceptedPayments = AcceptedPayments + def get_AmountPercent(self): + return self.AmountPercent + def set_AmountPercent(self, AmountPercent): + self.AmountPercent = AmountPercent + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_GuaranteeCode(self): + return self.GuaranteeCode + def set_GuaranteeCode(self, GuaranteeCode): + self.GuaranteeCode = GuaranteeCode + def has__content(self): + if ( + self.AcceptedPayments is not None or + self.AmountPercent is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) + if self.GuaranteeCode is not None and 'GuaranteeCode' not in already_processed: + already_processed.add('GuaranteeCode') + outfile.write(' GuaranteeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeCode), input_name='GuaranteeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AcceptedPayments is not None: + namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' + self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) + if self.AmountPercent is not None: + namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' + self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + self.Start = value + value = find_attr_value_('GuaranteeCode', node) + if value is not None and 'GuaranteeCode' not in already_processed: + already_processed.add('GuaranteeCode') + self.GuaranteeCode = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayments': + obj_ = AcceptedPaymentsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayments = obj_ + obj_.original_tagname_ = 'AcceptedPayments' + elif nodeName_ == 'AmountPercent': + obj_ = AmountPercentType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AmountPercent = obj_ + obj_.original_tagname_ = 'AmountPercent' +# end class GuaranteePaymentType + + +class AcceptedPaymentsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AcceptedPayment = AcceptedPayment + self.AcceptedPayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentsType.subclass: + return AcceptedPaymentsType.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayment(self): + return self.AcceptedPayment + def set_AcceptedPayment(self, AcceptedPayment): + self.AcceptedPayment = AcceptedPayment + def has__content(self): + if ( + self.AcceptedPayment is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AcceptedPayment is not None: + namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' + self.AcceptedPayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayment': + obj_ = AcceptedPaymentType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayment = obj_ + obj_.original_tagname_ = 'AcceptedPayment' +# end class AcceptedPaymentsType + + +class AcceptedPaymentType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteeTypeCode = _cast(None, GuaranteeTypeCode) + self.GuaranteeTypeCode_nsprefix_ = None + self.GuaranteeID = _cast(None, GuaranteeID) + self.GuaranteeID_nsprefix_ = None + self.PaymentTransactionTypeCode = _cast(None, PaymentTransactionTypeCode) + self.PaymentTransactionTypeCode_nsprefix_ = None + self.PaymentCard = PaymentCard + self.PaymentCard_nsprefix_ = None + self.BankAcct = BankAcct + self.BankAcct_nsprefix_ = None + self.Voucher = Voucher + self.Voucher_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentType.subclass: + return AcceptedPaymentType.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PaymentCard(self): + return self.PaymentCard + def set_PaymentCard(self, PaymentCard): + self.PaymentCard = PaymentCard + def get_BankAcct(self): + return self.BankAcct + def set_BankAcct(self, BankAcct): + self.BankAcct = BankAcct + def get_Voucher(self): + return self.Voucher + def set_Voucher(self, Voucher): + self.Voucher = Voucher + def get_GuaranteeTypeCode(self): + return self.GuaranteeTypeCode + def set_GuaranteeTypeCode(self, GuaranteeTypeCode): + self.GuaranteeTypeCode = GuaranteeTypeCode + def get_GuaranteeID(self): + return self.GuaranteeID + def set_GuaranteeID(self, GuaranteeID): + self.GuaranteeID = GuaranteeID + def get_PaymentTransactionTypeCode(self): + return self.PaymentTransactionTypeCode + def set_PaymentTransactionTypeCode(self, PaymentTransactionTypeCode): + self.PaymentTransactionTypeCode = PaymentTransactionTypeCode + def has__content(self): + if ( + self.PaymentCard is not None or + self.BankAcct is not None or + self.Voucher is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType'): + if self.GuaranteeTypeCode is not None and 'GuaranteeTypeCode' not in already_processed: + already_processed.add('GuaranteeTypeCode') + outfile.write(' GuaranteeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeTypeCode), input_name='GuaranteeTypeCode')), )) + if self.GuaranteeID is not None and 'GuaranteeID' not in already_processed: + already_processed.add('GuaranteeID') + outfile.write(' GuaranteeID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeID), input_name='GuaranteeID')), )) + if self.PaymentTransactionTypeCode is not None and 'PaymentTransactionTypeCode' not in already_processed: + already_processed.add('PaymentTransactionTypeCode') + outfile.write(' PaymentTransactionTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PaymentTransactionTypeCode), input_name='PaymentTransactionTypeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PaymentCard is not None: + namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' + self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) + if self.BankAcct is not None: + namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' + self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) + if self.Voucher is not None: + namespaceprefix_ = self.Voucher_nsprefix_ + ':' if (UseCapturedNS_ and self.Voucher_nsprefix_) else '' + self.Voucher.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Voucher', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('GuaranteeTypeCode', node) + if value is not None and 'GuaranteeTypeCode' not in already_processed: + already_processed.add('GuaranteeTypeCode') + self.GuaranteeTypeCode = value + value = find_attr_value_('GuaranteeID', node) + if value is not None and 'GuaranteeID' not in already_processed: + already_processed.add('GuaranteeID') + self.GuaranteeID = value + value = find_attr_value_('PaymentTransactionTypeCode', node) + if value is not None and 'PaymentTransactionTypeCode' not in already_processed: + already_processed.add('PaymentTransactionTypeCode') + self.PaymentTransactionTypeCode = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PaymentCard': + obj_ = PaymentCardType39.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PaymentCard = obj_ + obj_.original_tagname_ = 'PaymentCard' + elif nodeName_ == 'BankAcct': + obj_ = BankAcctType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcct = obj_ + obj_.original_tagname_ = 'BankAcct' + elif nodeName_ == 'Voucher': + obj_ = VoucherType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Voucher = obj_ + obj_.original_tagname_ = 'Voucher' +# end class AcceptedPaymentType + + +class PaymentCardType39(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CardCode = _cast(None, CardCode) + self.CardCode_nsprefix_ = None + self.ExpireDate = _cast(None, ExpireDate) + self.ExpireDate_nsprefix_ = None + self.CardHolderName = CardHolderName + self.validate_StringLength1to64(self.CardHolderName) + self.CardHolderName_nsprefix_ = None + self.CardNumber = CardNumber + self.CardNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PaymentCardType39) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PaymentCardType39.subclass: + return PaymentCardType39.subclass(*args_, **kwargs_) + else: + return PaymentCardType39(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CardHolderName(self): + return self.CardHolderName + def set_CardHolderName(self, CardHolderName): + self.CardHolderName = CardHolderName + def get_CardNumber(self): + return self.CardNumber + def set_CardNumber(self, CardNumber): + self.CardNumber = CardNumber + def get_CardCode(self): + return self.CardCode + def set_CardCode(self, CardCode): + self.CardCode = CardCode + def get_ExpireDate(self): + return self.ExpireDate + def set_ExpireDate(self, ExpireDate): + self.ExpireDate = ExpireDate + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_CardCodeType41(self, value): + # Validate type CardCodeType41, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CardCodeType41_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType41_patterns_, )) + validate_CardCodeType41_patterns_ = [['^([A-Z]{1,2})$']] + def validate_ExpireDateType42(self, value): + # Validate type ExpireDateType42, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ExpireDateType42_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType42_patterns_, )) + validate_ExpireDateType42_patterns_ = [['^((0[1-9]|1[0-2])[0-9][0-9])$']] + def has__content(self): + if ( + self.CardHolderName is not None or + self.CardNumber is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType39', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType39') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PaymentCardType39': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType39') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType39', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType39'): + if self.CardCode is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) + if self.ExpireDate is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType39', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CardHolderName is not None: + namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) + if self.CardNumber is not None: + namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' + self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CardCode', node) + if value is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + self.CardCode = value + self.validate_CardCodeType41(self.CardCode) # validate type CardCodeType41 + value = find_attr_value_('ExpireDate', node) + if value is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + self.ExpireDate = value + self.validate_ExpireDateType42(self.ExpireDate) # validate type ExpireDateType42 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CardHolderName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CardHolderName') + value_ = self.gds_validate_string(value_, node, 'CardHolderName') + self.CardHolderName = value_ + self.CardHolderName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CardHolderName) + elif nodeName_ == 'CardNumber': + obj_ = CardNumberType40.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CardNumber = obj_ + obj_.original_tagname_ = 'CardNumber' +# end class PaymentCardType39 + + +class CardNumberType40(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mask=None, Token=None, TokenProviderID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mask = _cast(None, Mask) + self.Mask_nsprefix_ = None + self.Token = _cast(None, Token) + self.Token_nsprefix_ = None + self.TokenProviderID = _cast(None, TokenProviderID) + self.TokenProviderID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CardNumberType40) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CardNumberType40.subclass: + return CardNumberType40.subclass(*args_, **kwargs_) + else: + return CardNumberType40(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mask(self): + return self.Mask + def set_Mask(self, Mask): + self.Mask = Mask + def get_Token(self): + return self.Token + def set_Token(self, Token): + self.Token = Token + def get_TokenProviderID(self): + return self.TokenProviderID + def set_TokenProviderID(self, TokenProviderID): + self.TokenProviderID = TokenProviderID + def validate_MaskType(self, value): + # Validate type MaskType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MaskType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType_patterns_, )) + validate_MaskType_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] + def validate_TokenType(self, value): + # Validate type TokenType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_TokenType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TokenType_patterns_, )) + validate_TokenType_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType40', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType40') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CardNumberType40': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType40') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType40', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType40'): + if self.Mask is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) + if self.Token is not None and 'Token' not in already_processed: + already_processed.add('Token') + outfile.write(' Token=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Token), input_name='Token')), )) + if self.TokenProviderID is not None and 'TokenProviderID' not in already_processed: + already_processed.add('TokenProviderID') + outfile.write(' TokenProviderID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TokenProviderID), input_name='TokenProviderID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType40', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mask', node) + if value is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + self.Mask = value + self.validate_MaskType(self.Mask) # validate type MaskType + value = find_attr_value_('Token', node) + if value is not None and 'Token' not in already_processed: + already_processed.add('Token') + self.Token = value + self.validate_TokenType(self.Token) # validate type TokenType + value = find_attr_value_('TokenProviderID', node) + if value is not None and 'TokenProviderID' not in already_processed: + already_processed.add('TokenProviderID') + self.TokenProviderID = value + self.validate_def_nonempty_string(self.TokenProviderID) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CardNumberType40 + + +class BankAcctType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BankAcctName=None, BankAcctNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BankAcctName = BankAcctName + self.validate_StringLength1to64(self.BankAcctName) + self.BankAcctName_nsprefix_ = None + self.BankAcctNumber = BankAcctNumber + self.BankAcctNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctType.subclass: + return BankAcctType.subclass(*args_, **kwargs_) + else: + return BankAcctType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BankAcctName(self): + return self.BankAcctName + def set_BankAcctName(self, BankAcctName): + self.BankAcctName = BankAcctName + def get_BankAcctNumber(self): + return self.BankAcctNumber + def set_BankAcctNumber(self, BankAcctNumber): + self.BankAcctNumber = BankAcctNumber + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.BankAcctName is not None or + self.BankAcctNumber is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BankAcctName is not None: + namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sBankAcctName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BankAcctName), input_name='BankAcctName')), namespaceprefix_ , eol_)) + if self.BankAcctNumber is not None: + namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' + self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BankAcctName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'BankAcctName') + value_ = self.gds_validate_string(value_, node, 'BankAcctName') + self.BankAcctName = value_ + self.BankAcctName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.BankAcctName) + elif nodeName_ == 'BankAcctNumber': + obj_ = BankAcctNumberType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcctNumber = obj_ + obj_.original_tagname_ = 'BankAcctNumber' +# end class BankAcctType + + +class BankAcctNumberType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mask=None, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mask = _cast(None, Mask) + self.Mask_nsprefix_ = None + self.PlainText = PlainText + self.validate_NumericStringLength1to19(self.PlainText) + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctNumberType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctNumberType.subclass: + return BankAcctNumberType.subclass(*args_, **kwargs_) + else: + return BankAcctNumberType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def get_Mask(self): + return self.Mask + def set_Mask(self, Mask): + self.Mask = Mask + def validate_NumericStringLength1to19(self, value): + result = True + # Validate type NumericStringLength1to19, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to19_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) + result = False + return result + validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] + def validate_MaskType43(self, value): + # Validate type MaskType43, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MaskType43_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType43_patterns_, )) + validate_MaskType43_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctNumberType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType'): + if self.Mask is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mask', node) + if value is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + self.Mask = value + self.validate_MaskType43(self.Mask) # validate type MaskType43 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PlainText') + value_ = self.gds_validate_string(value_, node, 'PlainText') + self.PlainText = value_ + self.PlainText_nsprefix_ = child_.prefix + # validate type NumericStringLength1to19 + self.validate_NumericStringLength1to19(self.PlainText) +# end class BankAcctNumberType + + +class VoucherType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ElectronicIndicator=None, Identifier=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ElectronicIndicator = _cast(bool, ElectronicIndicator) + self.ElectronicIndicator_nsprefix_ = None + self.Identifier = _cast(None, Identifier) + self.Identifier_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VoucherType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VoucherType.subclass: + return VoucherType.subclass(*args_, **kwargs_) + else: + return VoucherType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ElectronicIndicator(self): + return self.ElectronicIndicator + def set_ElectronicIndicator(self, ElectronicIndicator): + self.ElectronicIndicator = ElectronicIndicator + def get_Identifier(self): + return self.Identifier + def set_Identifier(self, Identifier): + self.Identifier = Identifier + def validate_ElectronicIndicatorType(self, value): + # Validate type ElectronicIndicatorType, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_ElectronicIndicatorType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ElectronicIndicatorType_patterns_, )) + validate_ElectronicIndicatorType_patterns_ = [['^(1|true)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VoucherType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VoucherType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VoucherType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VoucherType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VoucherType'): + if self.ElectronicIndicator is not None and 'ElectronicIndicator' not in already_processed: + already_processed.add('ElectronicIndicator') + outfile.write(' ElectronicIndicator="%s"' % self.gds_format_boolean(self.ElectronicIndicator, input_name='ElectronicIndicator')) + if self.Identifier is not None and 'Identifier' not in already_processed: + already_processed.add('Identifier') + outfile.write(' Identifier=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Identifier), input_name='Identifier')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ElectronicIndicator', node) + if value is not None and 'ElectronicIndicator' not in already_processed: + already_processed.add('ElectronicIndicator') + if value in ('true', '1'): + self.ElectronicIndicator = True + elif value in ('false', '0'): + self.ElectronicIndicator = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_ElectronicIndicatorType(self.ElectronicIndicator) # validate type ElectronicIndicatorType + value = find_attr_value_('Identifier', node) + if value is not None and 'Identifier' not in already_processed: + already_processed.add('Identifier') + self.Identifier = value + self.validate_StringLength1to64(self.Identifier) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class VoucherType + + +class AmountPercentType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmountPercentType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmountPercentType.subclass: + return AmountPercentType.subclass(*args_, **kwargs_) + else: + return AmountPercentType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmountPercentType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_gt0(self.Amount) # validate type def_decimal_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AmountPercentType + + +class CancelPenaltiesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CancelPenalty = CancelPenalty + self.CancelPenalty_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPenaltiesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPenaltiesType.subclass: + return CancelPenaltiesType.subclass(*args_, **kwargs_) + else: + return CancelPenaltiesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CancelPenalty(self): + return self.CancelPenalty + def set_CancelPenalty(self, CancelPenalty): + self.CancelPenalty = CancelPenalty + def has__content(self): + if ( + self.CancelPenalty is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltiesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPenaltiesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltiesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltiesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltiesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CancelPenalty is not None: + namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' + self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CancelPenalty': + obj_ = CancelPenaltyType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPenalty = obj_ + obj_.original_tagname_ = 'CancelPenalty' +# end class CancelPenaltiesType + + +class CancelPenaltyType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PenaltyDescription = PenaltyDescription + self.PenaltyDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPenaltyType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPenaltyType.subclass: + return CancelPenaltyType.subclass(*args_, **kwargs_) + else: + return CancelPenaltyType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PenaltyDescription(self): + return self.PenaltyDescription + def set_PenaltyDescription(self, PenaltyDescription): + self.PenaltyDescription = PenaltyDescription + def has__content(self): + if ( + self.PenaltyDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPenaltyType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PenaltyDescription is not None: + namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' + self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PenaltyDescription': + obj_ = PenaltyDescriptionType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PenaltyDescription = obj_ + obj_.original_tagname_ = 'PenaltyDescription' +# end class CancelPenaltyType + + +class PenaltyDescriptionType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Text = Text + self.validate_def_nonempty_string(self.Text) + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PenaltyDescriptionType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PenaltyDescriptionType.subclass: + return PenaltyDescriptionType.subclass(*args_, **kwargs_) + else: + return PenaltyDescriptionType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Text') + value_ = self.gds_validate_string(value_, node, 'Text') + self.Text = value_ + self.Text_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.Text) +# end class PenaltyDescriptionType + + +class HotelReservationIDsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelReservationID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if HotelReservationID is None: + self.HotelReservationID = [] + else: + self.HotelReservationID = HotelReservationID + self.HotelReservationID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationIDsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationIDsType.subclass: + return HotelReservationIDsType.subclass(*args_, **kwargs_) + else: + return HotelReservationIDsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelReservationID(self): + return self.HotelReservationID + def set_HotelReservationID(self, HotelReservationID): + self.HotelReservationID = HotelReservationID + def add_HotelReservationID(self, value): + self.HotelReservationID.append(value) + def insert_HotelReservationID_at(self, index, value): + self.HotelReservationID.insert(index, value) + def replace_HotelReservationID_at(self, index, value): + self.HotelReservationID[index] = value + def has__content(self): + if ( + self.HotelReservationID + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationIDsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for HotelReservationID_ in self.HotelReservationID: + namespaceprefix_ = self.HotelReservationID_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationID_nsprefix_) else '' + HotelReservationID_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationID', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelReservationID': + obj_ = HotelReservationIDType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservationID.append(obj_) + obj_.original_tagname_ = 'HotelReservationID' +# end class HotelReservationIDsType + + +class HotelReservationIDType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ResID_Type = _cast(int, ResID_Type) + self.ResID_Type_nsprefix_ = None + self.ResID_Value = _cast(None, ResID_Value) + self.ResID_Value_nsprefix_ = None + self.ResID_Source = _cast(None, ResID_Source) + self.ResID_Source_nsprefix_ = None + self.ResID_SourceContext = _cast(None, ResID_SourceContext) + self.ResID_SourceContext_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationIDType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationIDType.subclass: + return HotelReservationIDType.subclass(*args_, **kwargs_) + else: + return HotelReservationIDType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ResID_Type(self): + return self.ResID_Type + def set_ResID_Type(self, ResID_Type): + self.ResID_Type = ResID_Type + def get_ResID_Value(self): + return self.ResID_Value + def set_ResID_Value(self, ResID_Value): + self.ResID_Value = ResID_Value + def get_ResID_Source(self): + return self.ResID_Source + def set_ResID_Source(self, ResID_Source): + self.ResID_Source = ResID_Source + def get_ResID_SourceContext(self): + return self.ResID_SourceContext + def set_ResID_SourceContext(self, ResID_SourceContext): + self.ResID_SourceContext = ResID_SourceContext + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationIDType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDType'): + if self.ResID_Type is not None and 'ResID_Type' not in already_processed: + already_processed.add('ResID_Type') + outfile.write(' ResID_Type="%s"' % self.gds_format_integer(self.ResID_Type, input_name='ResID_Type')) + if self.ResID_Value is not None and 'ResID_Value' not in already_processed: + already_processed.add('ResID_Value') + outfile.write(' ResID_Value=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Value), input_name='ResID_Value')), )) + if self.ResID_Source is not None and 'ResID_Source' not in already_processed: + already_processed.add('ResID_Source') + outfile.write(' ResID_Source=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Source), input_name='ResID_Source')), )) + if self.ResID_SourceContext is not None and 'ResID_SourceContext' not in already_processed: + already_processed.add('ResID_SourceContext') + outfile.write(' ResID_SourceContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_SourceContext), input_name='ResID_SourceContext')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ResID_Type', node) + if value is not None and 'ResID_Type' not in already_processed: + already_processed.add('ResID_Type') + self.ResID_Type = self.gds_parse_integer(value, node, 'ResID_Type') + if self.ResID_Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.ResID_Type) # validate type def_int_gt0 + value = find_attr_value_('ResID_Value', node) + if value is not None and 'ResID_Value' not in already_processed: + already_processed.add('ResID_Value') + self.ResID_Value = value + self.validate_StringLength1to64(self.ResID_Value) # validate type StringLength1to64 + value = find_attr_value_('ResID_Source', node) + if value is not None and 'ResID_Source' not in already_processed: + already_processed.add('ResID_Source') + self.ResID_Source = value + self.validate_StringLength1to64(self.ResID_Source) # validate type StringLength1to64 + value = find_attr_value_('ResID_SourceContext', node) + if value is not None and 'ResID_SourceContext' not in already_processed: + already_processed.add('ResID_SourceContext') + self.ResID_SourceContext = value + self.validate_StringLength1to64(self.ResID_SourceContext) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class HotelReservationIDType + + +class ProfilesType44(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ProfileInfo = ProfileInfo + self.ProfileInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfilesType44) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfilesType44.subclass: + return ProfilesType44.subclass(*args_, **kwargs_) + else: + return ProfilesType44(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ProfileInfo(self): + return self.ProfileInfo + def set_ProfileInfo(self, ProfileInfo): + self.ProfileInfo = ProfileInfo + def has__content(self): + if ( + self.ProfileInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType44', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType44') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfilesType44': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType44') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType44', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType44'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType44', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ProfileInfo is not None: + namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' + self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ProfileInfo': + obj_ = ProfileInfoType45.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ProfileInfo = obj_ + obj_.original_tagname_ = 'ProfileInfo' +# end class ProfilesType44 + + +class ProfileInfoType45(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Profile=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Profile = Profile + self.Profile_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileInfoType45) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileInfoType45.subclass: + return ProfileInfoType45.subclass(*args_, **kwargs_) + else: + return ProfileInfoType45(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Profile(self): + return self.Profile + def set_Profile(self, Profile): + self.Profile = Profile + def has__content(self): + if ( + self.Profile is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType45', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType45') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileInfoType45': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType45') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType45', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType45'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType45', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Profile is not None: + namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' + self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Profile': + obj_ = ProfileType46.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profile = obj_ + obj_.original_tagname_ = 'Profile' +# end class ProfileInfoType45 + + +class ProfileType46(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ProfileType=None, CompanyInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ProfileType = _cast(None, ProfileType) + self.ProfileType_nsprefix_ = None + self.CompanyInfo = CompanyInfo + self.CompanyInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileType46) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileType46.subclass: + return ProfileType46.subclass(*args_, **kwargs_) + else: + return ProfileType46(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CompanyInfo(self): + return self.CompanyInfo + def set_CompanyInfo(self, CompanyInfo): + self.CompanyInfo = CompanyInfo + def get_ProfileType(self): + return self.ProfileType + def set_ProfileType(self, ProfileType): + self.ProfileType = ProfileType + def validate_ProfileTypeType(self, value): + # Validate type ProfileTypeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['4'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ProfileTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.CompanyInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType46', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType46') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileType46': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType46') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType46', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType46'): + if self.ProfileType is not None and 'ProfileType' not in already_processed: + already_processed.add('ProfileType') + outfile.write(' ProfileType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ProfileType), input_name='ProfileType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType46', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CompanyInfo is not None: + namespaceprefix_ = self.CompanyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyInfo_nsprefix_) else '' + self.CompanyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ProfileType', node) + if value is not None and 'ProfileType' not in already_processed: + already_processed.add('ProfileType') + self.ProfileType = value + self.validate_ProfileTypeType(self.ProfileType) # validate type ProfileTypeType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CompanyInfo': + obj_ = CompanyInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CompanyInfo = obj_ + obj_.original_tagname_ = 'CompanyInfo' +# end class ProfileType46 + + +class CompanyInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CompanyName = CompanyName + self.CompanyName_nsprefix_ = None + self.AddressInfo = AddressInfo + self.AddressInfo_nsprefix_ = None + self.TelephoneInfo = TelephoneInfo + self.TelephoneInfo_nsprefix_ = None + self.Email = Email + self.validate_def_nonempty_string(self.Email) + self.Email_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CompanyInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CompanyInfoType.subclass: + return CompanyInfoType.subclass(*args_, **kwargs_) + else: + return CompanyInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CompanyName(self): + return self.CompanyName + def set_CompanyName(self, CompanyName): + self.CompanyName = CompanyName + def get_AddressInfo(self): + return self.AddressInfo + def set_AddressInfo(self, AddressInfo): + self.AddressInfo = AddressInfo + def get_TelephoneInfo(self): + return self.TelephoneInfo + def set_TelephoneInfo(self, TelephoneInfo): + self.TelephoneInfo = TelephoneInfo + def get_Email(self): + return self.Email + def set_Email(self, Email): + self.Email = Email + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.CompanyName is not None or + self.AddressInfo is not None or + self.TelephoneInfo is not None or + self.Email is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CompanyInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CompanyInfoType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyInfoType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CompanyName is not None: + namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' + self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) + if self.AddressInfo is not None: + namespaceprefix_ = self.AddressInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressInfo_nsprefix_) else '' + self.AddressInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AddressInfo', pretty_print=pretty_print) + if self.TelephoneInfo is not None: + namespaceprefix_ = self.TelephoneInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.TelephoneInfo_nsprefix_) else '' + self.TelephoneInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TelephoneInfo', pretty_print=pretty_print) + if self.Email is not None: + namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sEmail>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Email), input_name='Email')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CompanyName': + obj_ = CompanyNameType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CompanyName = obj_ + obj_.original_tagname_ = 'CompanyName' + elif nodeName_ == 'AddressInfo': + obj_ = AddressInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AddressInfo = obj_ + obj_.original_tagname_ = 'AddressInfo' + elif nodeName_ == 'TelephoneInfo': + obj_ = TelephoneInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TelephoneInfo = obj_ + obj_.original_tagname_ = 'TelephoneInfo' + elif nodeName_ == 'Email': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Email') + value_ = self.gds_validate_string(value_, node, 'Email') + self.Email = value_ + self.Email_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.Email) +# end class CompanyInfoType + + +class CompanyNameType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, CodeContext=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.CodeContext = _cast(None, CodeContext) + self.CodeContext_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CompanyNameType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CompanyNameType.subclass: + return CompanyNameType.subclass(*args_, **kwargs_) + else: + return CompanyNameType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_CodeContext(self): + return self.CodeContext + def set_CodeContext(self, CodeContext): + self.CodeContext = CodeContext + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CompanyNameType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.CodeContext is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string + value = find_attr_value_('CodeContext', node) + if value is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + self.CodeContext = value + self.validate_def_nonempty_string(self.CodeContext) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CompanyNameType + + +class AddressInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AddressLine = AddressLine + self.validate_StringLength1to255(self.AddressLine) + self.AddressLine_nsprefix_ = None + self.CityName = CityName + self.validate_StringLength1to64(self.CityName) + self.CityName_nsprefix_ = None + self.PostalCode = PostalCode + self.validate_StringLength1to16(self.PostalCode) + self.PostalCode_nsprefix_ = None + self.CountryName = CountryName + self.CountryName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressInfoType.subclass: + return AddressInfoType.subclass(*args_, **kwargs_) + else: + return AddressInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AddressLine(self): + return self.AddressLine + def set_AddressLine(self, AddressLine): + self.AddressLine = AddressLine + def get_CityName(self): + return self.CityName + def set_CityName(self, CityName): + self.CityName = CityName + def get_PostalCode(self): + return self.PostalCode + def set_PostalCode(self, PostalCode): + self.PostalCode = PostalCode + def get_CountryName(self): + return self.CountryName + def set_CountryName(self, CountryName): + self.CountryName = CountryName + def validate_StringLength1to255(self, value): + result = True + # Validate type StringLength1to255, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 255: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.AddressLine is not None or + self.CityName is not None or + self.PostalCode is not None or + self.CountryName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressInfoType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressInfoType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AddressLine is not None: + namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) + if self.CityName is not None: + namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) + if self.PostalCode is not None: + namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) + if self.CountryName is not None: + namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' + self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AddressLine': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine') + value_ = self.gds_validate_string(value_, node, 'AddressLine') + self.AddressLine = value_ + self.AddressLine_nsprefix_ = child_.prefix + # validate type StringLength1to255 + self.validate_StringLength1to255(self.AddressLine) + elif nodeName_ == 'CityName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CityName') + value_ = self.gds_validate_string(value_, node, 'CityName') + self.CityName = value_ + self.CityName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CityName) + elif nodeName_ == 'PostalCode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PostalCode') + value_ = self.gds_validate_string(value_, node, 'PostalCode') + self.PostalCode = value_ + self.PostalCode_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.PostalCode) + elif nodeName_ == 'CountryName': + obj_ = CountryNameType47.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CountryName = obj_ + obj_.original_tagname_ = 'CountryName' +# end class AddressInfoType + + +class CountryNameType47(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CountryNameType47) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CountryNameType47.subclass: + return CountryNameType47.subclass(*args_, **kwargs_) + else: + return CountryNameType47(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def validate_CodeType48(self, value): + # Validate type CodeType48, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CodeType48_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType48_patterns_, )) + validate_CodeType48_patterns_ = [['^([A-Z][A-Z])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType47', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType47') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CountryNameType47': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType47') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType47', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType47'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType47', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType48(self.Code) # validate type CodeType48 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CountryNameType47 + + +class TelephoneInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PhoneTechType = _cast(None, PhoneTechType) + self.PhoneTechType_nsprefix_ = None + self.PhoneNumber = _cast(None, PhoneNumber) + self.PhoneNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TelephoneInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TelephoneInfoType.subclass: + return TelephoneInfoType.subclass(*args_, **kwargs_) + else: + return TelephoneInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PhoneTechType(self): + return self.PhoneTechType + def set_PhoneTechType(self, PhoneTechType): + self.PhoneTechType = PhoneTechType + def get_PhoneNumber(self): + return self.PhoneNumber + def set_PhoneNumber(self, PhoneNumber): + self.PhoneNumber = PhoneNumber + def validate_PhoneTechTypeType49(self, value): + # Validate type PhoneTechTypeType49, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneTechTypeType49_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType49_patterns_, )) + validate_PhoneTechTypeType49_patterns_ = [['^((1|3|5))$']] + def validate_PhoneNumberType50(self, value): + # Validate type PhoneNumberType50, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneNumberType50_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType50_patterns_, )) + validate_PhoneNumberType50_patterns_ = [['^(\\+?[0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TelephoneInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneInfoType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneInfoType'): + if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) + if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('PhoneTechType', node) + if value is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + self.PhoneTechType = value + self.validate_PhoneTechTypeType49(self.PhoneTechType) # validate type PhoneTechTypeType49 + value = find_attr_value_('PhoneNumber', node) + if value is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + self.PhoneNumber = value + self.validate_PhoneNumberType50(self.PhoneNumber) # validate type PhoneNumberType50 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TelephoneInfoType + + +class BasicPropertyInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BasicPropertyInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BasicPropertyInfoType.subclass: + return BasicPropertyInfoType.subclass(*args_, **kwargs_) + else: + return BasicPropertyInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BasicPropertyInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BasicPropertyInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BasicPropertyInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BasicPropertyInfoType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BasicPropertyInfoType'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BasicPropertyInfoType + + +class ErrorsType51(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType51) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType51.subclass: + return ErrorsType51.subclass(*args_, **kwargs_) + else: + return ErrorsType51(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType51', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType51') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType51': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType51') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType51', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType51'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType51', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType52.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType51 + + +class ErrorType52(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType52) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType52.subclass: + return ErrorType52.subclass(*args_, **kwargs_) + else: + return ErrorType52(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType53(self, value): + # Validate type TypeType53, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType53' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType52', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType52') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType52': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType52') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType52'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType52', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType53(self.Type) # validate type TypeType53 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType52 + + +class WarningsType54(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType54) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType54.subclass: + return WarningsType54.subclass(*args_, **kwargs_) + else: + return WarningsType54(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType54', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType54') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType54': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType54') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType54', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType54'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType54', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType55.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType54 + + +class WarningType55(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType55) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType55.subclass: + return WarningType55.subclass(*args_, **kwargs_) + else: + return WarningType55(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType55', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType55') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType55': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType55') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType55'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType55', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType55 + + +class HotelReservationsType56(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelReservation=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if HotelReservation is None: + self.HotelReservation = [] + else: + self.HotelReservation = HotelReservation + self.HotelReservation_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationsType56) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationsType56.subclass: + return HotelReservationsType56.subclass(*args_, **kwargs_) + else: + return HotelReservationsType56(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelReservation(self): + return self.HotelReservation + def set_HotelReservation(self, HotelReservation): + self.HotelReservation = HotelReservation + def add_HotelReservation(self, value): + self.HotelReservation.append(value) + def insert_HotelReservation_at(self, index, value): + self.HotelReservation.insert(index, value) + def replace_HotelReservation_at(self, index, value): + self.HotelReservation[index] = value + def has__content(self): + if ( + self.HotelReservation + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType56', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationsType56') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationsType56': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationsType56') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationsType56', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationsType56'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType56', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for HotelReservation_ in self.HotelReservation: + namespaceprefix_ = self.HotelReservation_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservation_nsprefix_) else '' + HotelReservation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservation', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelReservation': + obj_ = HotelReservationType57.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservation.append(obj_) + obj_.original_tagname_ = 'HotelReservation' +# end class HotelReservationsType56 + + +class HotelReservationType57(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, UniqueID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.UniqueID = UniqueID + self.UniqueID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationType57) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationType57.subclass: + return HotelReservationType57.subclass(*args_, **kwargs_) + else: + return HotelReservationType57(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_UniqueID(self): + return self.UniqueID + def set_UniqueID(self, UniqueID): + self.UniqueID = UniqueID + def has__content(self): + if ( + self.UniqueID is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType57', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType57') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationType57': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType57') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType57', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType57'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType57', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.UniqueID is not None: + namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' + self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'UniqueID': + obj_ = UniqueIDType58.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.UniqueID = obj_ + obj_.original_tagname_ = 'UniqueID' +# end class HotelReservationType57 + + +class UniqueIDType58(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, UniqueIDType58) + if subclass is not None: + return subclass(*args_, **kwargs_) + if UniqueIDType58.subclass: + return UniqueIDType58.subclass(*args_, **kwargs_) + else: + return UniqueIDType58(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def validate_TypeType59(self, value): + # Validate type TypeType59, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['14', '15'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType59' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType58', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType58') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'UniqueIDType58': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType58') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType58', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType58'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType58', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType59(self.Type) # validate type TypeType59 + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class UniqueIDType58 + + +class ReadRequestsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelReadRequest=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelReadRequest = HotelReadRequest + self.HotelReadRequest_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ReadRequestsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ReadRequestsType.subclass: + return ReadRequestsType.subclass(*args_, **kwargs_) + else: + return ReadRequestsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelReadRequest(self): + return self.HotelReadRequest + def set_HotelReadRequest(self, HotelReadRequest): + self.HotelReadRequest = HotelReadRequest + def has__content(self): + if ( + self.HotelReadRequest is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReadRequestsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ReadRequestsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ReadRequestsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ReadRequestsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ReadRequestsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ReadRequestsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReadRequestsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelReadRequest is not None: + namespaceprefix_ = self.HotelReadRequest_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReadRequest_nsprefix_) else '' + self.HotelReadRequest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReadRequest', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelReadRequest': + obj_ = HotelReadRequestType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReadRequest = obj_ + obj_.original_tagname_ = 'HotelReadRequest' +# end class ReadRequestsType + + +class HotelReadRequestType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, SelectionCriteria=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + self.SelectionCriteria = SelectionCriteria + self.SelectionCriteria_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReadRequestType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReadRequestType.subclass: + return HotelReadRequestType.subclass(*args_, **kwargs_) + else: + return HotelReadRequestType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_SelectionCriteria(self): + return self.SelectionCriteria + def set_SelectionCriteria(self, SelectionCriteria): + self.SelectionCriteria = SelectionCriteria + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.SelectionCriteria is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReadRequestType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReadRequestType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReadRequestType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReadRequestType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReadRequestType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReadRequestType'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReadRequestType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.SelectionCriteria is not None: + namespaceprefix_ = self.SelectionCriteria_nsprefix_ + ':' if (UseCapturedNS_ and self.SelectionCriteria_nsprefix_) else '' + self.SelectionCriteria.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SelectionCriteria', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'SelectionCriteria': + obj_ = SelectionCriteriaType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SelectionCriteria = obj_ + obj_.original_tagname_ = 'SelectionCriteria' +# end class HotelReadRequestType + + +class SelectionCriteriaType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SelectionCriteriaType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SelectionCriteriaType.subclass: + return SelectionCriteriaType.subclass(*args_, **kwargs_) + else: + return SelectionCriteriaType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def validate_def_datetime(self, value): + # Validate type def_datetime, a restriction on xs:dateTime. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.datetime): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_datetime_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) + validate_def_datetime_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SelectionCriteriaType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SelectionCriteriaType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SelectionCriteriaType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SelectionCriteriaType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SelectionCriteriaType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SelectionCriteriaType'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SelectionCriteriaType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (Start): %s' % exp) + self.validate_def_datetime(self.Start) # validate type def_datetime + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class SelectionCriteriaType + + +class ErrorsType60(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType60) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType60.subclass: + return ErrorsType60.subclass(*args_, **kwargs_) + else: + return ErrorsType60(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType60', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType60') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType60': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType60') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType60', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType60'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType60', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType61.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType60 + + +class ErrorType61(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType61) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType61.subclass: + return ErrorType61.subclass(*args_, **kwargs_) + else: + return ErrorType61(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType62(self, value): + # Validate type TypeType62, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType62' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType61', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType61') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType61': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType61') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType61'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType61', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType62(self.Type) # validate type TypeType62 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType61 + + +class WarningsType63(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType63) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType63.subclass: + return WarningsType63.subclass(*args_, **kwargs_) + else: + return WarningsType63(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType63', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType63') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType63': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType63') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType63', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType63'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType63', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType64.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType63 + + +class WarningType64(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType64) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType64.subclass: + return WarningType64.subclass(*args_, **kwargs_) + else: + return WarningType64(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType64', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType64') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType64': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType64') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType64'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType64', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType64 + + +class ReservationsListType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelReservation=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if HotelReservation is None: + self.HotelReservation = [] + else: + self.HotelReservation = HotelReservation + self.HotelReservation_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ReservationsListType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ReservationsListType.subclass: + return ReservationsListType.subclass(*args_, **kwargs_) + else: + return ReservationsListType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelReservation(self): + return self.HotelReservation + def set_HotelReservation(self, HotelReservation): + self.HotelReservation = HotelReservation + def add_HotelReservation(self, value): + self.HotelReservation.append(value) + def insert_HotelReservation_at(self, index, value): + self.HotelReservation.insert(index, value) + def replace_HotelReservation_at(self, index, value): + self.HotelReservation[index] = value + def has__content(self): + if ( + self.HotelReservation + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReservationsListType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ReservationsListType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ReservationsListType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ReservationsListType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ReservationsListType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ReservationsListType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReservationsListType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for HotelReservation_ in self.HotelReservation: + namespaceprefix_ = self.HotelReservation_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservation_nsprefix_) else '' + HotelReservation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservation', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelReservation': + obj_ = HotelReservationType65.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservation.append(obj_) + obj_.original_tagname_ = 'HotelReservation' +# end class ReservationsListType + + +class HotelReservationType65(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CreateDateTime = _cast(None, CreateDateTime) + self.CreateDateTime_nsprefix_ = None + self.LastModifyDateTime = _cast(None, LastModifyDateTime) + self.LastModifyDateTime_nsprefix_ = None + self.ResStatus = _cast(None, ResStatus) + self.ResStatus_nsprefix_ = None + self.RoomStayReservation = _cast(bool, RoomStayReservation) + self.RoomStayReservation_nsprefix_ = None + self.UniqueID = UniqueID + self.UniqueID_nsprefix_ = None + self.RoomStays = RoomStays + self.RoomStays_nsprefix_ = None + self.Services = Services + self.Services_nsprefix_ = None + self.ResGuests = ResGuests + self.ResGuests_nsprefix_ = None + self.ResGlobalInfo = ResGlobalInfo + self.ResGlobalInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationType65) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationType65.subclass: + return HotelReservationType65.subclass(*args_, **kwargs_) + else: + return HotelReservationType65(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_UniqueID(self): + return self.UniqueID + def set_UniqueID(self, UniqueID): + self.UniqueID = UniqueID + def get_RoomStays(self): + return self.RoomStays + def set_RoomStays(self, RoomStays): + self.RoomStays = RoomStays + def get_Services(self): + return self.Services + def set_Services(self, Services): + self.Services = Services + def get_ResGuests(self): + return self.ResGuests + def set_ResGuests(self, ResGuests): + self.ResGuests = ResGuests + def get_ResGlobalInfo(self): + return self.ResGlobalInfo + def set_ResGlobalInfo(self, ResGlobalInfo): + self.ResGlobalInfo = ResGlobalInfo + def get_CreateDateTime(self): + return self.CreateDateTime + def set_CreateDateTime(self, CreateDateTime): + self.CreateDateTime = CreateDateTime + def get_LastModifyDateTime(self): + return self.LastModifyDateTime + def set_LastModifyDateTime(self, LastModifyDateTime): + self.LastModifyDateTime = LastModifyDateTime + def get_ResStatus(self): + return self.ResStatus + def set_ResStatus(self, ResStatus): + self.ResStatus = ResStatus + def get_RoomStayReservation(self): + return self.RoomStayReservation + def set_RoomStayReservation(self, RoomStayReservation): + self.RoomStayReservation = RoomStayReservation + def validate_def_datetime(self, value): + # Validate type def_datetime, a restriction on xs:dateTime. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.datetime): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_datetime_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) + validate_def_datetime_patterns_ = [['^(\\S+)$']] + def validate_ResStatusType183(self, value): + # Validate type ResStatusType183, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Requested', 'Reserved', 'Cancelled', 'Modify'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ResStatusType183' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.UniqueID is not None or + self.RoomStays is not None or + self.Services is not None or + self.ResGuests is not None or + self.ResGlobalInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType65', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType65') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationType65': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType65') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType65', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType65'): + if self.CreateDateTime is not None and 'CreateDateTime' not in already_processed: + already_processed.add('CreateDateTime') + outfile.write(' CreateDateTime="%s"' % self.gds_format_datetime(self.CreateDateTime, input_name='CreateDateTime')) + if self.LastModifyDateTime is not None and 'LastModifyDateTime' not in already_processed: + already_processed.add('LastModifyDateTime') + outfile.write(' LastModifyDateTime="%s"' % self.gds_format_datetime(self.LastModifyDateTime, input_name='LastModifyDateTime')) + if self.ResStatus is not None and 'ResStatus' not in already_processed: + already_processed.add('ResStatus') + outfile.write(' ResStatus=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResStatus), input_name='ResStatus')), )) + if self.RoomStayReservation is not None and 'RoomStayReservation' not in already_processed: + already_processed.add('RoomStayReservation') + outfile.write(' RoomStayReservation="%s"' % self.gds_format_boolean(self.RoomStayReservation, input_name='RoomStayReservation')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType65', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.UniqueID is not None: + namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' + self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) + if self.RoomStays is not None: + namespaceprefix_ = self.RoomStays_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStays_nsprefix_) else '' + self.RoomStays.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStays', pretty_print=pretty_print) + if self.Services is not None: + namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' + self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) + if self.ResGuests is not None: + namespaceprefix_ = self.ResGuests_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuests_nsprefix_) else '' + self.ResGuests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuests', pretty_print=pretty_print) + if self.ResGlobalInfo is not None: + namespaceprefix_ = self.ResGlobalInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGlobalInfo_nsprefix_) else '' + self.ResGlobalInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGlobalInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CreateDateTime', node) + if value is not None and 'CreateDateTime' not in already_processed: + already_processed.add('CreateDateTime') + try: + self.CreateDateTime = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (CreateDateTime): %s' % exp) + self.validate_def_datetime(self.CreateDateTime) # validate type def_datetime + value = find_attr_value_('LastModifyDateTime', node) + if value is not None and 'LastModifyDateTime' not in already_processed: + already_processed.add('LastModifyDateTime') + try: + self.LastModifyDateTime = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (LastModifyDateTime): %s' % exp) + self.validate_def_datetime(self.LastModifyDateTime) # validate type def_datetime + value = find_attr_value_('ResStatus', node) + if value is not None and 'ResStatus' not in already_processed: + already_processed.add('ResStatus') + self.ResStatus = value + self.validate_ResStatusType183(self.ResStatus) # validate type ResStatusType183 + value = find_attr_value_('RoomStayReservation', node) + if value is not None and 'RoomStayReservation' not in already_processed: + already_processed.add('RoomStayReservation') + if value in ('true', '1'): + self.RoomStayReservation = True + elif value in ('false', '0'): + self.RoomStayReservation = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.RoomStayReservation) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'UniqueID': + obj_ = UniqueIDType66.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.UniqueID = obj_ + obj_.original_tagname_ = 'UniqueID' + elif nodeName_ == 'RoomStays': + obj_ = RoomStaysType68.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomStays = obj_ + obj_.original_tagname_ = 'RoomStays' + elif nodeName_ == 'Services': + obj_ = ServicesType102.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Services = obj_ + obj_.original_tagname_ = 'Services' + elif nodeName_ == 'ResGuests': + obj_ = ResGuestsType120.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ResGuests = obj_ + obj_.original_tagname_ = 'ResGuests' + elif nodeName_ == 'ResGlobalInfo': + obj_ = ResGlobalInfoType138.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ResGlobalInfo = obj_ + obj_.original_tagname_ = 'ResGlobalInfo' +# end class HotelReservationType65 + + +class UniqueIDType66(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, UniqueIDType66) + if subclass is not None: + return subclass(*args_, **kwargs_) + if UniqueIDType66.subclass: + return UniqueIDType66.subclass(*args_, **kwargs_) + else: + return UniqueIDType66(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def validate_TypeType67(self, value): + # Validate type TypeType67, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['14', '15'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType67' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType66', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType66') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'UniqueIDType66': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType66') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType66', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType66'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType66', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType67(self.Type) # validate type TypeType67 + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class UniqueIDType66 + + +class RoomStaysType68(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomStay=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if RoomStay is None: + self.RoomStay = [] + else: + self.RoomStay = RoomStay + self.RoomStay_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomStaysType68) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomStaysType68.subclass: + return RoomStaysType68.subclass(*args_, **kwargs_) + else: + return RoomStaysType68(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomStay(self): + return self.RoomStay + def set_RoomStay(self, RoomStay): + self.RoomStay = RoomStay + def add_RoomStay(self, value): + self.RoomStay.append(value) + def insert_RoomStay_at(self, index, value): + self.RoomStay.insert(index, value) + def replace_RoomStay_at(self, index, value): + self.RoomStay[index] = value + def has__content(self): + if ( + self.RoomStay + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType68', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStaysType68') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomStaysType68': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStaysType68') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStaysType68', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStaysType68'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType68', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for RoomStay_ in self.RoomStay: + namespaceprefix_ = self.RoomStay_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStay_nsprefix_) else '' + RoomStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStay', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomStay': + obj_ = RoomStayType69.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomStay.append(obj_) + obj_.original_tagname_ = 'RoomStay' +# end class RoomStaysType68 + + +class RoomStayType69(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomStayGroupID = _cast(None, RoomStayGroupID) + self.RoomStayGroupID_nsprefix_ = None + self.RoomTypes = RoomTypes + self.RoomTypes_nsprefix_ = None + self.RatePlans = RatePlans + self.RatePlans_nsprefix_ = None + self.RoomRates = RoomRates + self.RoomRates_nsprefix_ = None + self.GuestCounts = GuestCounts + self.GuestCounts_nsprefix_ = None + self.TimeSpan = TimeSpan + self.TimeSpan_nsprefix_ = None + self.Guarantee = Guarantee + self.Guarantee_nsprefix_ = None + self.Total = Total + self.Total_nsprefix_ = None + self.ServiceRPHs = ServiceRPHs + self.ServiceRPHs_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomStayType69) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomStayType69.subclass: + return RoomStayType69.subclass(*args_, **kwargs_) + else: + return RoomStayType69(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomTypes(self): + return self.RoomTypes + def set_RoomTypes(self, RoomTypes): + self.RoomTypes = RoomTypes + def get_RatePlans(self): + return self.RatePlans + def set_RatePlans(self, RatePlans): + self.RatePlans = RatePlans + def get_RoomRates(self): + return self.RoomRates + def set_RoomRates(self, RoomRates): + self.RoomRates = RoomRates + def get_GuestCounts(self): + return self.GuestCounts + def set_GuestCounts(self, GuestCounts): + self.GuestCounts = GuestCounts + def get_TimeSpan(self): + return self.TimeSpan + def set_TimeSpan(self, TimeSpan): + self.TimeSpan = TimeSpan + def get_Guarantee(self): + return self.Guarantee + def set_Guarantee(self, Guarantee): + self.Guarantee = Guarantee + def get_Total(self): + return self.Total + def set_Total(self, Total): + self.Total = Total + def get_ServiceRPHs(self): + return self.ServiceRPHs + def set_ServiceRPHs(self, ServiceRPHs): + self.ServiceRPHs = ServiceRPHs + def get_RoomStayGroupID(self): + return self.RoomStayGroupID + def set_RoomStayGroupID(self, RoomStayGroupID): + self.RoomStayGroupID = RoomStayGroupID + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.RoomTypes is not None or + self.RatePlans is not None or + self.RoomRates is not None or + self.GuestCounts is not None or + self.TimeSpan is not None or + self.Guarantee is not None or + self.Total is not None or + self.ServiceRPHs is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType69', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStayType69') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomStayType69': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStayType69') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStayType69', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStayType69'): + if self.RoomStayGroupID is not None and 'RoomStayGroupID' not in already_processed: + already_processed.add('RoomStayGroupID') + outfile.write(' RoomStayGroupID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomStayGroupID), input_name='RoomStayGroupID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType69', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RoomTypes is not None: + namespaceprefix_ = self.RoomTypes_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomTypes_nsprefix_) else '' + self.RoomTypes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomTypes', pretty_print=pretty_print) + if self.RatePlans is not None: + namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' + self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) + if self.RoomRates is not None: + namespaceprefix_ = self.RoomRates_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRates_nsprefix_) else '' + self.RoomRates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRates', pretty_print=pretty_print) + if self.GuestCounts is not None: + namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' + self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) + if self.TimeSpan is not None: + namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' + self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) + if self.Guarantee is not None: + namespaceprefix_ = self.Guarantee_nsprefix_ + ':' if (UseCapturedNS_ and self.Guarantee_nsprefix_) else '' + self.Guarantee.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guarantee', pretty_print=pretty_print) + if self.Total is not None: + namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' + self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) + if self.ServiceRPHs is not None: + namespaceprefix_ = self.ServiceRPHs_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPHs_nsprefix_) else '' + self.ServiceRPHs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPHs', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RoomStayGroupID', node) + if value is not None and 'RoomStayGroupID' not in already_processed: + already_processed.add('RoomStayGroupID') + self.RoomStayGroupID = value + self.validate_StringLength1to32(self.RoomStayGroupID) # validate type StringLength1to32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomTypes': + obj_ = RoomTypesType70.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomTypes = obj_ + obj_.original_tagname_ = 'RoomTypes' + elif nodeName_ == 'RatePlans': + obj_ = RatePlansType73.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlans = obj_ + obj_.original_tagname_ = 'RatePlans' + elif nodeName_ == 'RoomRates': + obj_ = RoomRatesType80.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomRates = obj_ + obj_.original_tagname_ = 'RoomRates' + elif nodeName_ == 'GuestCounts': + obj_ = GuestCountsType86.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCounts = obj_ + obj_.original_tagname_ = 'GuestCounts' + elif nodeName_ == 'TimeSpan': + obj_ = TimeSpanType88.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TimeSpan = obj_ + obj_.original_tagname_ = 'TimeSpan' + elif nodeName_ == 'Guarantee': + obj_ = GuaranteeType91.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Guarantee = obj_ + obj_.original_tagname_ = 'Guarantee' + elif nodeName_ == 'Total': + obj_ = TotalType98.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Total = obj_ + obj_.original_tagname_ = 'Total' + elif nodeName_ == 'ServiceRPHs': + obj_ = ServiceRPHsType99.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceRPHs = obj_ + obj_.original_tagname_ = 'ServiceRPHs' +# end class RoomStayType69 + + +class RoomTypesType70(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomType = RoomType + self.RoomType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomTypesType70) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomTypesType70.subclass: + return RoomTypesType70.subclass(*args_, **kwargs_) + else: + return RoomTypesType70(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomType(self): + return self.RoomType + def set_RoomType(self, RoomType): + self.RoomType = RoomType + def has__content(self): + if ( + self.RoomType is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType70', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypesType70') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomTypesType70': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypesType70') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypesType70', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypesType70'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType70', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RoomType is not None: + namespaceprefix_ = self.RoomType_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomType_nsprefix_) else '' + self.RoomType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomType', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomType': + obj_ = RoomTypeType71.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomType = obj_ + obj_.original_tagname_ = 'RoomType' +# end class RoomTypesType70 + + +class RoomTypeType71(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomTypeCode = _cast(None, RoomTypeCode) + self.RoomTypeCode_nsprefix_ = None + self.RoomClassificationCode = _cast(int, RoomClassificationCode) + self.RoomClassificationCode_nsprefix_ = None + self.RoomType = _cast(None, RoomType) + self.RoomType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomTypeType71) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomTypeType71.subclass: + return RoomTypeType71.subclass(*args_, **kwargs_) + else: + return RoomTypeType71(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomTypeCode(self): + return self.RoomTypeCode + def set_RoomTypeCode(self, RoomTypeCode): + self.RoomTypeCode = RoomTypeCode + def get_RoomClassificationCode(self): + return self.RoomClassificationCode + def set_RoomClassificationCode(self, RoomClassificationCode): + self.RoomClassificationCode = RoomClassificationCode + def get_RoomType(self): + return self.RoomType + def set_RoomType(self, RoomType): + self.RoomType = RoomType + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_RoomTypeType72(self, value): + # Validate type RoomTypeType72, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType72' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType71', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypeType71') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomTypeType71': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypeType71') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypeType71', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypeType71'): + if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) + if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) + if self.RoomType is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType71', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RoomTypeCode', node) + if value is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + self.RoomTypeCode = value + self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string + value = find_attr_value_('RoomClassificationCode', node) + if value is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') + if self.RoomClassificationCode < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 + value = find_attr_value_('RoomType', node) + if value is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + self.RoomType = value + self.validate_RoomTypeType72(self.RoomType) # validate type RoomTypeType72 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class RoomTypeType71 + + +class RatePlansType73(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlan = RatePlan + self.RatePlan_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlansType73) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlansType73.subclass: + return RatePlansType73.subclass(*args_, **kwargs_) + else: + return RatePlansType73(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RatePlan(self): + return self.RatePlan + def set_RatePlan(self, RatePlan): + self.RatePlan = RatePlan + def has__content(self): + if ( + self.RatePlan is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType73', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType73') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlansType73': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType73') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType73', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType73'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType73', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RatePlan is not None: + namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' + self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RatePlan': + obj_ = RatePlanType74.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlan = obj_ + obj_.original_tagname_ = 'RatePlan' +# end class RatePlansType73 + + +class RatePlanType74(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlanCode = _cast(None, RatePlanCode) + self.RatePlanCode_nsprefix_ = None + self.Commission = Commission + self.Commission_nsprefix_ = None + self.MealsIncluded = MealsIncluded + self.MealsIncluded_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlanType74) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlanType74.subclass: + return RatePlanType74.subclass(*args_, **kwargs_) + else: + return RatePlanType74(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Commission(self): + return self.Commission + def set_Commission(self, Commission): + self.Commission = Commission + def get_MealsIncluded(self): + return self.MealsIncluded + def set_MealsIncluded(self, MealsIncluded): + self.MealsIncluded = MealsIncluded + def get_RatePlanCode(self): + return self.RatePlanCode + def set_RatePlanCode(self, RatePlanCode): + self.RatePlanCode = RatePlanCode + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Commission is not None or + self.MealsIncluded is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType74', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType74') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlanType74': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType74') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType74', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType74'): + if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType74', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Commission is not None: + namespaceprefix_ = self.Commission_nsprefix_ + ':' if (UseCapturedNS_ and self.Commission_nsprefix_) else '' + self.Commission.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Commission', pretty_print=pretty_print) + if self.MealsIncluded is not None: + namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' + self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RatePlanCode', node) + if value is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + self.RatePlanCode = value + self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Commission': + obj_ = CommissionType75.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Commission = obj_ + obj_.original_tagname_ = 'Commission' + elif nodeName_ == 'MealsIncluded': + obj_ = MealsIncludedType77.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MealsIncluded = obj_ + obj_.original_tagname_ = 'MealsIncluded' +# end class RatePlanType74 + + +class CommissionType75(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Percent=None, CommissionPayableAmount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Percent = _cast(int, Percent) + self.Percent_nsprefix_ = None + self.CommissionPayableAmount = CommissionPayableAmount + self.CommissionPayableAmount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommissionType75) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommissionType75.subclass: + return CommissionType75.subclass(*args_, **kwargs_) + else: + return CommissionType75(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CommissionPayableAmount(self): + return self.CommissionPayableAmount + def set_CommissionPayableAmount(self, CommissionPayableAmount): + self.CommissionPayableAmount = CommissionPayableAmount + def get_Percent(self): + return self.Percent + def set_Percent(self, Percent): + self.Percent = Percent + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.CommissionPayableAmount is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType75', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionType75') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommissionType75': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionType75') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionType75', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionType75'): + if self.Percent is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + outfile.write(' Percent="%s"' % self.gds_format_integer(self.Percent, input_name='Percent')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType75', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CommissionPayableAmount is not None: + namespaceprefix_ = self.CommissionPayableAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.CommissionPayableAmount_nsprefix_) else '' + self.CommissionPayableAmount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CommissionPayableAmount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Percent', node) + if value is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + self.Percent = self.gds_parse_integer(value, node, 'Percent') + if self.Percent < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Percent) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CommissionPayableAmount': + obj_ = CommissionPayableAmountType76.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CommissionPayableAmount = obj_ + obj_.original_tagname_ = 'CommissionPayableAmount' +# end class CommissionType75 + + +class CommissionPayableAmountType76(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommissionPayableAmountType76) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommissionPayableAmountType76.subclass: + return CommissionPayableAmountType76.subclass(*args_, **kwargs_) + else: + return CommissionPayableAmountType76(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType76', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionPayableAmountType76') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommissionPayableAmountType76': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionPayableAmountType76') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionPayableAmountType76', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionPayableAmountType76'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType76', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CommissionPayableAmountType76 + + +class MealsIncludedType77(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MealPlanIndicator = _cast(None, MealPlanIndicator) + self.MealPlanIndicator_nsprefix_ = None + self.MealPlanCodes = _cast(None, MealPlanCodes) + self.MealPlanCodes_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MealsIncludedType77) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MealsIncludedType77.subclass: + return MealsIncludedType77.subclass(*args_, **kwargs_) + else: + return MealsIncludedType77(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MealPlanIndicator(self): + return self.MealPlanIndicator + def set_MealPlanIndicator(self, MealPlanIndicator): + self.MealPlanIndicator = MealPlanIndicator + def get_MealPlanCodes(self): + return self.MealPlanCodes + def set_MealPlanCodes(self, MealPlanCodes): + self.MealPlanCodes = MealPlanCodes + def validate_MealPlanIndicatorType78(self, value): + # Validate type MealPlanIndicatorType78, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', 'true'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType78' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MealPlanCodesType79(self, value): + # Validate type MealPlanCodesType79, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '3', '10', '12', '14'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType79' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType77', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType77') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MealsIncludedType77': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType77') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType77', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType77'): + if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) + if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType77', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MealPlanIndicator', node) + if value is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + self.MealPlanIndicator = value + self.validate_MealPlanIndicatorType78(self.MealPlanIndicator) # validate type MealPlanIndicatorType78 + value = find_attr_value_('MealPlanCodes', node) + if value is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + self.MealPlanCodes = value + self.validate_MealPlanCodesType79(self.MealPlanCodes) # validate type MealPlanCodesType79 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class MealsIncludedType77 + + +class RoomRatesType80(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomRate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomRate = RoomRate + self.RoomRate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomRatesType80) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomRatesType80.subclass: + return RoomRatesType80.subclass(*args_, **kwargs_) + else: + return RoomRatesType80(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomRate(self): + return self.RoomRate + def set_RoomRate(self, RoomRate): + self.RoomRate = RoomRate + def has__content(self): + if ( + self.RoomRate is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType80', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRatesType80') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomRatesType80': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRatesType80') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRatesType80', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRatesType80'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType80', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RoomRate is not None: + namespaceprefix_ = self.RoomRate_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRate_nsprefix_) else '' + self.RoomRate.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRate', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomRate': + obj_ = RoomRateType81.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomRate = obj_ + obj_.original_tagname_ = 'RoomRate' +# end class RoomRatesType80 + + +class RoomRateType81(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlanCode = _cast(None, RatePlanCode) + self.RatePlanCode_nsprefix_ = None + self.RoomTypeCode = _cast(None, RoomTypeCode) + self.RoomTypeCode_nsprefix_ = None + self.Rates = Rates + self.Rates_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomRateType81) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomRateType81.subclass: + return RoomRateType81.subclass(*args_, **kwargs_) + else: + return RoomRateType81(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rates(self): + return self.Rates + def set_Rates(self, Rates): + self.Rates = Rates + def get_RatePlanCode(self): + return self.RatePlanCode + def set_RatePlanCode(self, RatePlanCode): + self.RatePlanCode = RatePlanCode + def get_RoomTypeCode(self): + return self.RoomTypeCode + def set_RoomTypeCode(self, RoomTypeCode): + self.RoomTypeCode = RoomTypeCode + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Rates is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType81', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRateType81') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomRateType81': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRateType81') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRateType81', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRateType81'): + if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) + if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType81', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Rates is not None: + namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' + self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RatePlanCode', node) + if value is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + self.RatePlanCode = value + self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 + value = find_attr_value_('RoomTypeCode', node) + if value is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + self.RoomTypeCode = value + self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Rates': + obj_ = RatesType82.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rates = obj_ + obj_.original_tagname_ = 'Rates' +# end class RoomRateType81 + + +class RatesType82(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Rate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Rate is None: + self.Rate = [] + else: + self.Rate = Rate + self.Rate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatesType82) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatesType82.subclass: + return RatesType82.subclass(*args_, **kwargs_) + else: + return RatesType82(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rate(self): + return self.Rate + def set_Rate(self, Rate): + self.Rate = Rate + def add_Rate(self, value): + self.Rate.append(value) + def insert_Rate_at(self, index, value): + self.Rate.insert(index, value) + def replace_Rate_at(self, index, value): + self.Rate[index] = value + def has__content(self): + if ( + self.Rate + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType82', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType82') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatesType82': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType82') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType82', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType82'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType82', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Rate_ in self.Rate: + namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' + Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Rate': + obj_ = RateType83.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rate.append(obj_) + obj_.original_tagname_ = 'Rate' +# end class RatesType82 + + +class RateType83(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EffectiveDate = _cast(None, EffectiveDate) + self.EffectiveDate_nsprefix_ = None + self.ExpireDate = _cast(None, ExpireDate) + self.ExpireDate_nsprefix_ = None + self.ExpireDateExclusiveInd = _cast(bool, ExpireDateExclusiveInd) + self.ExpireDateExclusiveInd_nsprefix_ = None + self.RateTimeUnit = _cast(None, RateTimeUnit) + self.RateTimeUnit_nsprefix_ = None + self.UnitMultiplier = _cast(int, UnitMultiplier) + self.UnitMultiplier_nsprefix_ = None + if Base is None: + self.Base = [] + else: + self.Base = Base + self.Base_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RateType83) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RateType83.subclass: + return RateType83.subclass(*args_, **kwargs_) + else: + return RateType83(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Base(self): + return self.Base + def set_Base(self, Base): + self.Base = Base + def add_Base(self, value): + self.Base.append(value) + def insert_Base_at(self, index, value): + self.Base.insert(index, value) + def replace_Base_at(self, index, value): + self.Base[index] = value + def get_EffectiveDate(self): + return self.EffectiveDate + def set_EffectiveDate(self, EffectiveDate): + self.EffectiveDate = EffectiveDate + def get_ExpireDate(self): + return self.ExpireDate + def set_ExpireDate(self, ExpireDate): + self.ExpireDate = ExpireDate + def get_ExpireDateExclusiveInd(self): + return self.ExpireDateExclusiveInd + def set_ExpireDateExclusiveInd(self, ExpireDateExclusiveInd): + self.ExpireDateExclusiveInd = ExpireDateExclusiveInd + def get_RateTimeUnit(self): + return self.RateTimeUnit + def set_RateTimeUnit(self, RateTimeUnit): + self.RateTimeUnit = RateTimeUnit + def get_UnitMultiplier(self): + return self.UnitMultiplier + def set_UnitMultiplier(self, UnitMultiplier): + self.UnitMultiplier = UnitMultiplier + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_RateTimeUnitType85(self, value): + # Validate type RateTimeUnitType85, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType85' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.Base + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType83', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType83') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RateType83': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType83') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType83', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType83'): + if self.EffectiveDate is not None and 'EffectiveDate' not in already_processed: + already_processed.add('EffectiveDate') + outfile.write(' EffectiveDate="%s"' % self.gds_format_date(self.EffectiveDate, input_name='EffectiveDate')) + if self.ExpireDate is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + outfile.write(' ExpireDate="%s"' % self.gds_format_date(self.ExpireDate, input_name='ExpireDate')) + if self.ExpireDateExclusiveInd is not None and 'ExpireDateExclusiveInd' not in already_processed: + already_processed.add('ExpireDateExclusiveInd') + outfile.write(' ExpireDateExclusiveInd="%s"' % self.gds_format_boolean(self.ExpireDateExclusiveInd, input_name='ExpireDateExclusiveInd')) + if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) + if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType83', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Base_ in self.Base: + namespaceprefix_ = self.Base_nsprefix_ + ':' if (UseCapturedNS_ and self.Base_nsprefix_) else '' + Base_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Base', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EffectiveDate', node) + if value is not None and 'EffectiveDate' not in already_processed: + already_processed.add('EffectiveDate') + try: + self.EffectiveDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (EffectiveDate): %s' % exp) + self.validate_def_date(self.EffectiveDate) # validate type def_date + value = find_attr_value_('ExpireDate', node) + if value is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + try: + self.ExpireDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (ExpireDate): %s' % exp) + self.validate_def_date(self.ExpireDate) # validate type def_date + value = find_attr_value_('ExpireDateExclusiveInd', node) + if value is not None and 'ExpireDateExclusiveInd' not in already_processed: + already_processed.add('ExpireDateExclusiveInd') + if value in ('true', '1'): + self.ExpireDateExclusiveInd = True + elif value in ('false', '0'): + self.ExpireDateExclusiveInd = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.ExpireDateExclusiveInd) # validate type def_bool + value = find_attr_value_('RateTimeUnit', node) + if value is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + self.RateTimeUnit = value + self.validate_RateTimeUnitType85(self.RateTimeUnit) # validate type RateTimeUnitType85 + value = find_attr_value_('UnitMultiplier', node) + if value is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') + if self.UnitMultiplier <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Base': + obj_ = BaseType84.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Base.append(obj_) + obj_.original_tagname_ = 'Base' +# end class RateType83 + + +class BaseType84(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BaseType84) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BaseType84.subclass: + return BaseType84.subclass(*args_, **kwargs_) + else: + return BaseType84(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType84', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseType84') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BaseType84': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseType84') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseType84', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseType84'): + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType84', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BaseType84 + + +class GuestCountsType86(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuestCount is None: + self.GuestCount = [] + else: + self.GuestCount = GuestCount + self.GuestCount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountsType86) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountsType86.subclass: + return GuestCountsType86.subclass(*args_, **kwargs_) + else: + return GuestCountsType86(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestCount(self): + return self.GuestCount + def set_GuestCount(self, GuestCount): + self.GuestCount = GuestCount + def add_GuestCount(self, value): + self.GuestCount.append(value) + def insert_GuestCount_at(self, index, value): + self.GuestCount.insert(index, value) + def replace_GuestCount_at(self, index, value): + self.GuestCount[index] = value + def has__content(self): + if ( + self.GuestCount + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType86', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType86') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountsType86': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType86') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType86', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType86'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType86', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuestCount_ in self.GuestCount: + namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' + GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestCount': + obj_ = GuestCountType87.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCount.append(obj_) + obj_.original_tagname_ = 'GuestCount' +# end class GuestCountsType86 + + +class GuestCountType87(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Count=None, Age=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Count = _cast(int, Count) + self.Count_nsprefix_ = None + self.Age = _cast(int, Age) + self.Age_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountType87) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountType87.subclass: + return GuestCountType87.subclass(*args_, **kwargs_) + else: + return GuestCountType87(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Count(self): + return self.Count + def set_Count(self, Count): + self.Count = Count + def get_Age(self): + return self.Age + def set_Age(self, Age): + self.Age = Age + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType87', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType87') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountType87': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType87') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType87', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType87'): + if self.Count is not None and 'Count' not in already_processed: + already_processed.add('Count') + outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) + if self.Age is not None and 'Age' not in already_processed: + already_processed.add('Age') + outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType87', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Count', node) + if value is not None and 'Count' not in already_processed: + already_processed.add('Count') + self.Count = self.gds_parse_integer(value, node, 'Count') + if self.Count <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 + value = find_attr_value_('Age', node) + if value is not None and 'Age' not in already_processed: + already_processed.add('Age') + self.Age = self.gds_parse_integer(value, node, 'Age') + if self.Age < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Age) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class GuestCountType87 + + +class TimeSpanType88(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.Duration = _cast(None, Duration) + self.Duration_nsprefix_ = None + self.StartDateWindow = StartDateWindow + self.StartDateWindow_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TimeSpanType88) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TimeSpanType88.subclass: + return TimeSpanType88.subclass(*args_, **kwargs_) + else: + return TimeSpanType88(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StartDateWindow(self): + return self.StartDateWindow + def set_StartDateWindow(self, StartDateWindow): + self.StartDateWindow = StartDateWindow + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def get_Duration(self): + return self.Duration + def set_Duration(self, Duration): + self.Duration = Duration + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_DurationType90(self, value): + # Validate type DurationType90, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_DurationType90_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType90_patterns_, )) + validate_DurationType90_patterns_ = [['^(P[0-9]+N)$']] + def has__content(self): + if ( + self.StartDateWindow is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType88', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType88') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TimeSpanType88': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType88') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType88', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType88'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + if self.Duration is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType88', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.StartDateWindow is not None: + namespaceprefix_ = self.StartDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.StartDateWindow_nsprefix_) else '' + self.StartDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StartDateWindow', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + value = find_attr_value_('Duration', node) + if value is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + self.Duration = value + self.validate_DurationType90(self.Duration) # validate type DurationType90 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'StartDateWindow': + obj_ = StartDateWindowType89.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StartDateWindow = obj_ + obj_.original_tagname_ = 'StartDateWindow' +# end class TimeSpanType88 + + +class StartDateWindowType89(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EarliestDate=None, LatestDate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EarliestDate = _cast(None, EarliestDate) + self.EarliestDate_nsprefix_ = None + self.LatestDate = _cast(None, LatestDate) + self.LatestDate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StartDateWindowType89) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StartDateWindowType89.subclass: + return StartDateWindowType89.subclass(*args_, **kwargs_) + else: + return StartDateWindowType89(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EarliestDate(self): + return self.EarliestDate + def set_EarliestDate(self, EarliestDate): + self.EarliestDate = EarliestDate + def get_LatestDate(self): + return self.LatestDate + def set_LatestDate(self, LatestDate): + self.LatestDate = LatestDate + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType89', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StartDateWindowType89') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StartDateWindowType89': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StartDateWindowType89') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StartDateWindowType89', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StartDateWindowType89'): + if self.EarliestDate is not None and 'EarliestDate' not in already_processed: + already_processed.add('EarliestDate') + outfile.write(' EarliestDate="%s"' % self.gds_format_date(self.EarliestDate, input_name='EarliestDate')) + if self.LatestDate is not None and 'LatestDate' not in already_processed: + already_processed.add('LatestDate') + outfile.write(' LatestDate="%s"' % self.gds_format_date(self.LatestDate, input_name='LatestDate')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType89', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EarliestDate', node) + if value is not None and 'EarliestDate' not in already_processed: + already_processed.add('EarliestDate') + try: + self.EarliestDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (EarliestDate): %s' % exp) + self.validate_def_date(self.EarliestDate) # validate type def_date + value = find_attr_value_('LatestDate', node) + if value is not None and 'LatestDate' not in already_processed: + already_processed.add('LatestDate') + try: + self.LatestDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (LatestDate): %s' % exp) + self.validate_def_date(self.LatestDate) # validate type def_date + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class StartDateWindowType89 + + +class GuaranteeType91(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteesAccepted=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteesAccepted = GuaranteesAccepted + self.GuaranteesAccepted_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteeType91) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteeType91.subclass: + return GuaranteeType91.subclass(*args_, **kwargs_) + else: + return GuaranteeType91(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteesAccepted(self): + return self.GuaranteesAccepted + def set_GuaranteesAccepted(self, GuaranteesAccepted): + self.GuaranteesAccepted = GuaranteesAccepted + def has__content(self): + if ( + self.GuaranteesAccepted is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType91', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeType91') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteeType91': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeType91') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeType91', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeType91'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType91', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuaranteesAccepted is not None: + namespaceprefix_ = self.GuaranteesAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteesAccepted_nsprefix_) else '' + self.GuaranteesAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteesAccepted', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteesAccepted': + obj_ = GuaranteesAcceptedType92.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteesAccepted = obj_ + obj_.original_tagname_ = 'GuaranteesAccepted' +# end class GuaranteeType91 + + +class GuaranteesAcceptedType92(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteeAccepted=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteeAccepted = GuaranteeAccepted + self.GuaranteeAccepted_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteesAcceptedType92) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteesAcceptedType92.subclass: + return GuaranteesAcceptedType92.subclass(*args_, **kwargs_) + else: + return GuaranteesAcceptedType92(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteeAccepted(self): + return self.GuaranteeAccepted + def set_GuaranteeAccepted(self, GuaranteeAccepted): + self.GuaranteeAccepted = GuaranteeAccepted + def has__content(self): + if ( + self.GuaranteeAccepted is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType92', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteesAcceptedType92') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteesAcceptedType92': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteesAcceptedType92') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteesAcceptedType92', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteesAcceptedType92'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType92', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuaranteeAccepted is not None: + namespaceprefix_ = self.GuaranteeAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteeAccepted_nsprefix_) else '' + self.GuaranteeAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteeAccepted', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteeAccepted': + obj_ = GuaranteeAcceptedType93.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteeAccepted = obj_ + obj_.original_tagname_ = 'GuaranteeAccepted' +# end class GuaranteesAcceptedType92 + + +class GuaranteeAcceptedType93(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PaymentCard=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PaymentCard = PaymentCard + self.PaymentCard_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteeAcceptedType93) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteeAcceptedType93.subclass: + return GuaranteeAcceptedType93.subclass(*args_, **kwargs_) + else: + return GuaranteeAcceptedType93(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PaymentCard(self): + return self.PaymentCard + def set_PaymentCard(self, PaymentCard): + self.PaymentCard = PaymentCard + def has__content(self): + if ( + self.PaymentCard is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType93', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeAcceptedType93') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteeAcceptedType93': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeAcceptedType93') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeAcceptedType93', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeAcceptedType93'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType93', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PaymentCard is not None: + namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' + self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PaymentCard': + obj_ = PaymentCardType94.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PaymentCard = obj_ + obj_.original_tagname_ = 'PaymentCard' +# end class GuaranteeAcceptedType93 + + +class PaymentCardType94(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CardCode = _cast(None, CardCode) + self.CardCode_nsprefix_ = None + self.ExpireDate = _cast(None, ExpireDate) + self.ExpireDate_nsprefix_ = None + self.CardHolderName = CardHolderName + self.validate_StringLength1to64(self.CardHolderName) + self.CardHolderName_nsprefix_ = None + self.CardNumber = CardNumber + self.CardNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PaymentCardType94) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PaymentCardType94.subclass: + return PaymentCardType94.subclass(*args_, **kwargs_) + else: + return PaymentCardType94(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CardHolderName(self): + return self.CardHolderName + def set_CardHolderName(self, CardHolderName): + self.CardHolderName = CardHolderName + def get_CardNumber(self): + return self.CardNumber + def set_CardNumber(self, CardNumber): + self.CardNumber = CardNumber + def get_CardCode(self): + return self.CardCode + def set_CardCode(self, CardCode): + self.CardCode = CardCode + def get_ExpireDate(self): + return self.ExpireDate + def set_ExpireDate(self, ExpireDate): + self.ExpireDate = ExpireDate + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_CardCodeType96(self, value): + # Validate type CardCodeType96, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CardCodeType96_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType96_patterns_, )) + validate_CardCodeType96_patterns_ = [['^([A-Z][A-Z]?)$']] + def validate_ExpireDateType97(self, value): + # Validate type ExpireDateType97, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ExpireDateType97_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType97_patterns_, )) + validate_ExpireDateType97_patterns_ = [['^([0-9][0-9][0-9][0-9])$']] + def has__content(self): + if ( + self.CardHolderName is not None or + self.CardNumber is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType94', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType94') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PaymentCardType94': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType94') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType94', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType94'): + if self.CardCode is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) + if self.ExpireDate is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType94', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CardHolderName is not None: + namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) + if self.CardNumber is not None: + namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' + self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CardCode', node) + if value is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + self.CardCode = value + self.validate_CardCodeType96(self.CardCode) # validate type CardCodeType96 + value = find_attr_value_('ExpireDate', node) + if value is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + self.ExpireDate = value + self.validate_ExpireDateType97(self.ExpireDate) # validate type ExpireDateType97 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CardHolderName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CardHolderName') + value_ = self.gds_validate_string(value_, node, 'CardHolderName') + self.CardHolderName = value_ + self.CardHolderName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CardHolderName) + elif nodeName_ == 'CardNumber': + obj_ = CardNumberType95.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CardNumber = obj_ + obj_.original_tagname_ = 'CardNumber' +# end class PaymentCardType94 + + +class CardNumberType95(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EncryptedValue = _cast(None, EncryptedValue) + self.EncryptedValue_nsprefix_ = None + self.EncryptionMethod = _cast(None, EncryptionMethod) + self.EncryptionMethod_nsprefix_ = None + self.PlainText = PlainText + self.validate_def_nonempty_string(self.PlainText) + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CardNumberType95) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CardNumberType95.subclass: + return CardNumberType95.subclass(*args_, **kwargs_) + else: + return CardNumberType95(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def get_EncryptedValue(self): + return self.EncryptedValue + def set_EncryptedValue(self, EncryptedValue): + self.EncryptedValue = EncryptedValue + def get_EncryptionMethod(self): + return self.EncryptionMethod + def set_EncryptionMethod(self, EncryptionMethod): + self.EncryptionMethod = EncryptionMethod + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType95', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType95') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CardNumberType95': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType95') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType95', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType95'): + if self.EncryptedValue is not None and 'EncryptedValue' not in already_processed: + already_processed.add('EncryptedValue') + outfile.write(' EncryptedValue=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptedValue), input_name='EncryptedValue')), )) + if self.EncryptionMethod is not None and 'EncryptionMethod' not in already_processed: + already_processed.add('EncryptionMethod') + outfile.write(' EncryptionMethod=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptionMethod), input_name='EncryptionMethod')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType95', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EncryptedValue', node) + if value is not None and 'EncryptedValue' not in already_processed: + already_processed.add('EncryptedValue') + self.EncryptedValue = value + self.validate_def_nonempty_string(self.EncryptedValue) # validate type def_nonempty_string + value = find_attr_value_('EncryptionMethod', node) + if value is not None and 'EncryptionMethod' not in already_processed: + already_processed.add('EncryptionMethod') + self.EncryptionMethod = value + self.validate_def_nonempty_string(self.EncryptionMethod) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PlainText') + value_ = self.gds_validate_string(value_, node, 'PlainText') + self.PlainText = value_ + self.PlainText_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.PlainText) +# end class CardNumberType95 + + +class TotalType98(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TotalType98) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TotalType98.subclass: + return TotalType98.subclass(*args_, **kwargs_) + else: + return TotalType98(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType98', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType98') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TotalType98': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType98') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType98', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType98'): + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType98', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TotalType98 + + +class ServiceRPHsType99(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ServiceRPH=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if ServiceRPH is None: + self.ServiceRPH = [] + else: + self.ServiceRPH = ServiceRPH + self.ServiceRPH_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceRPHsType99) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceRPHsType99.subclass: + return ServiceRPHsType99.subclass(*args_, **kwargs_) + else: + return ServiceRPHsType99(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ServiceRPH(self): + return self.ServiceRPH + def set_ServiceRPH(self, ServiceRPH): + self.ServiceRPH = ServiceRPH + def add_ServiceRPH(self, value): + self.ServiceRPH.append(value) + def insert_ServiceRPH_at(self, index, value): + self.ServiceRPH.insert(index, value) + def replace_ServiceRPH_at(self, index, value): + self.ServiceRPH[index] = value + def has__content(self): + if ( + self.ServiceRPH + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType99', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHsType99') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceRPHsType99': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHsType99') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHsType99', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHsType99'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType99', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ServiceRPH_ in self.ServiceRPH: + namespaceprefix_ = self.ServiceRPH_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPH_nsprefix_) else '' + ServiceRPH_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPH', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ServiceRPH': + obj_ = ServiceRPHType100.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceRPH.append(obj_) + obj_.original_tagname_ = 'ServiceRPH' +# end class ServiceRPHsType99 + + +class ServiceRPHType100(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RPH=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RPH = _cast(None, RPH) + self.RPH_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceRPHType100) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceRPHType100.subclass: + return ServiceRPHType100.subclass(*args_, **kwargs_) + else: + return ServiceRPHType100(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RPH(self): + return self.RPH + def set_RPH(self, RPH): + self.RPH = RPH + def validate_RPHType101(self, value): + # Validate type RPHType101, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_RPHType101_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RPHType101_patterns_, )) + validate_RPHType101_patterns_ = [['^([0-9]{1,8})$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType100', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHType100') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceRPHType100': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHType100') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHType100', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHType100'): + if self.RPH is not None and 'RPH' not in already_processed: + already_processed.add('RPH') + outfile.write(' RPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RPH), input_name='RPH')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType100', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RPH', node) + if value is not None and 'RPH' not in already_processed: + already_processed.add('RPH') + self.RPH = value + self.validate_RPHType101(self.RPH) # validate type RPHType101 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ServiceRPHType100 + + +class ServicesType102(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Service=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Service is None: + self.Service = [] + else: + self.Service = Service + self.Service_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServicesType102) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServicesType102.subclass: + return ServicesType102.subclass(*args_, **kwargs_) + else: + return ServicesType102(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Service(self): + return self.Service + def set_Service(self, Service): + self.Service = Service + def add_Service(self, value): + self.Service.append(value) + def insert_Service_at(self, index, value): + self.Service.insert(index, value) + def replace_Service_at(self, index, value): + self.Service[index] = value + def has__content(self): + if ( + self.Service + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType102', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType102') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServicesType102': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType102') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType102', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType102'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType102', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Service_ in self.Service: + namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' + Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Service': + obj_ = ServiceType103.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Service.append(obj_) + obj_.original_tagname_ = 'Service' +# end class ServicesType102 + + +class ServiceType103(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.ServiceCategoryCode = _cast(None, ServiceCategoryCode) + self.ServiceCategoryCode_nsprefix_ = None + self.ServiceInventoryCode = _cast(None, ServiceInventoryCode) + self.ServiceInventoryCode_nsprefix_ = None + self.ServiceRPH = _cast(None, ServiceRPH) + self.ServiceRPH_nsprefix_ = None + self.ServicePricingType = _cast(None, ServicePricingType) + self.ServicePricingType_nsprefix_ = None + self.Inclusive = _cast(bool, Inclusive) + self.Inclusive_nsprefix_ = None + self.Quantity = _cast(int, Quantity) + self.Quantity_nsprefix_ = None + self.ServiceDetails = ServiceDetails + self.ServiceDetails_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceType103) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceType103.subclass: + return ServiceType103.subclass(*args_, **kwargs_) + else: + return ServiceType103(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ServiceDetails(self): + return self.ServiceDetails + def set_ServiceDetails(self, ServiceDetails): + self.ServiceDetails = ServiceDetails + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_ServiceCategoryCode(self): + return self.ServiceCategoryCode + def set_ServiceCategoryCode(self, ServiceCategoryCode): + self.ServiceCategoryCode = ServiceCategoryCode + def get_ServiceInventoryCode(self): + return self.ServiceInventoryCode + def set_ServiceInventoryCode(self, ServiceInventoryCode): + self.ServiceInventoryCode = ServiceInventoryCode + def get_ServiceRPH(self): + return self.ServiceRPH + def set_ServiceRPH(self, ServiceRPH): + self.ServiceRPH = ServiceRPH + def get_ServicePricingType(self): + return self.ServicePricingType + def set_ServicePricingType(self, ServicePricingType): + self.ServicePricingType = ServicePricingType + def get_Inclusive(self): + return self.Inclusive + def set_Inclusive(self, Inclusive): + self.Inclusive = Inclusive + def get_Quantity(self): + return self.Quantity + def set_Quantity(self, Quantity): + self.Quantity = Quantity + def validate_def_one_to_thirty_two_chars_string(self, value): + # Validate type def_one_to_thirty_two_chars_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_TypeType116(self, value): + # Validate type TypeType116, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['16'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType116' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ServiceCategoryCodeType117(self, value): + # Validate type ServiceCategoryCodeType117, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['BOARD', 'SUPPLEMENT', 'SPA', 'FOOD', 'BEVERAGE', 'ACTIVITY', 'TOURISTTAX', 'TRANSFER', 'OTHER'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServiceCategoryCodeType117' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_one_to_sixteen_chars_string(self, value): + # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ServiceRPHType118(self, value): + # Validate type ServiceRPHType118, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ServiceRPHType118_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ServiceRPHType118_patterns_, )) + validate_ServiceRPHType118_patterns_ = [['^([0-9]{1,8})$']] + def validate_ServicePricingTypeType119(self, value): + # Validate type ServicePricingTypeType119, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Per night', 'Per person', 'Per person per night', 'Per stay', 'Per use'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServicePricingTypeType119' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.ServiceDetails is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType103', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType103') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceType103': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType103') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType103', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType103'): + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.ServiceCategoryCode is not None and 'ServiceCategoryCode' not in already_processed: + already_processed.add('ServiceCategoryCode') + outfile.write(' ServiceCategoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceCategoryCode), input_name='ServiceCategoryCode')), )) + if self.ServiceInventoryCode is not None and 'ServiceInventoryCode' not in already_processed: + already_processed.add('ServiceInventoryCode') + outfile.write(' ServiceInventoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceInventoryCode), input_name='ServiceInventoryCode')), )) + if self.ServiceRPH is not None and 'ServiceRPH' not in already_processed: + already_processed.add('ServiceRPH') + outfile.write(' ServiceRPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceRPH), input_name='ServiceRPH')), )) + if self.ServicePricingType is not None and 'ServicePricingType' not in already_processed: + already_processed.add('ServicePricingType') + outfile.write(' ServicePricingType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServicePricingType), input_name='ServicePricingType')), )) + if self.Inclusive is not None and 'Inclusive' not in already_processed: + already_processed.add('Inclusive') + outfile.write(' Inclusive="%s"' % self.gds_format_boolean(self.Inclusive, input_name='Inclusive')) + if self.Quantity is not None and 'Quantity' not in already_processed: + already_processed.add('Quantity') + outfile.write(' Quantity="%s"' % self.gds_format_integer(self.Quantity, input_name='Quantity')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType103', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ServiceDetails is not None: + namespaceprefix_ = self.ServiceDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDetails_nsprefix_) else '' + self.ServiceDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDetails', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_def_one_to_thirty_two_chars_string(self.ID) # validate type def_one_to_thirty_two_chars_string + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType116(self.Type) # validate type TypeType116 + value = find_attr_value_('ServiceCategoryCode', node) + if value is not None and 'ServiceCategoryCode' not in already_processed: + already_processed.add('ServiceCategoryCode') + self.ServiceCategoryCode = value + self.validate_ServiceCategoryCodeType117(self.ServiceCategoryCode) # validate type ServiceCategoryCodeType117 + value = find_attr_value_('ServiceInventoryCode', node) + if value is not None and 'ServiceInventoryCode' not in already_processed: + already_processed.add('ServiceInventoryCode') + self.ServiceInventoryCode = value + self.validate_def_one_to_sixteen_chars_string(self.ServiceInventoryCode) # validate type def_one_to_sixteen_chars_string + value = find_attr_value_('ServiceRPH', node) + if value is not None and 'ServiceRPH' not in already_processed: + already_processed.add('ServiceRPH') + self.ServiceRPH = value + self.validate_ServiceRPHType118(self.ServiceRPH) # validate type ServiceRPHType118 + value = find_attr_value_('ServicePricingType', node) + if value is not None and 'ServicePricingType' not in already_processed: + already_processed.add('ServicePricingType') + self.ServicePricingType = value + self.validate_ServicePricingTypeType119(self.ServicePricingType) # validate type ServicePricingTypeType119 + value = find_attr_value_('Inclusive', node) + if value is not None and 'Inclusive' not in already_processed: + already_processed.add('Inclusive') + if value in ('true', '1'): + self.Inclusive = True + elif value in ('false', '0'): + self.Inclusive = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Quantity', node) + if value is not None and 'Quantity' not in already_processed: + already_processed.add('Quantity') + self.Quantity = self.gds_parse_integer(value, node, 'Quantity') + if self.Quantity <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Quantity) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ServiceDetails': + obj_ = ServiceDetailsType104.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceDetails = obj_ + obj_.original_tagname_ = 'ServiceDetails' +# end class ServiceType103 + + +class ServiceDetailsType104(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuestCounts = GuestCounts + self.GuestCounts_nsprefix_ = None + self.TimeSpan = TimeSpan + self.TimeSpan_nsprefix_ = None + self.Comments = Comments + self.Comments_nsprefix_ = None + self.Total = Total + self.Total_nsprefix_ = None + self.ServiceDescription = ServiceDescription + self.ServiceDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceDetailsType104) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceDetailsType104.subclass: + return ServiceDetailsType104.subclass(*args_, **kwargs_) + else: + return ServiceDetailsType104(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestCounts(self): + return self.GuestCounts + def set_GuestCounts(self, GuestCounts): + self.GuestCounts = GuestCounts + def get_TimeSpan(self): + return self.TimeSpan + def set_TimeSpan(self, TimeSpan): + self.TimeSpan = TimeSpan + def get_Comments(self): + return self.Comments + def set_Comments(self, Comments): + self.Comments = Comments + def get_Total(self): + return self.Total + def set_Total(self, Total): + self.Total = Total + def get_ServiceDescription(self): + return self.ServiceDescription + def set_ServiceDescription(self, ServiceDescription): + self.ServiceDescription = ServiceDescription + def has__content(self): + if ( + self.GuestCounts is not None or + self.TimeSpan is not None or + self.Comments is not None or + self.Total is not None or + self.ServiceDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType104', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDetailsType104') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceDetailsType104': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDetailsType104') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDetailsType104', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDetailsType104'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType104', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuestCounts is not None: + namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' + self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) + if self.TimeSpan is not None: + namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' + self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) + if self.Comments is not None: + namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' + self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) + if self.Total is not None: + namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' + self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) + if self.ServiceDescription is not None: + namespaceprefix_ = self.ServiceDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDescription_nsprefix_) else '' + self.ServiceDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestCounts': + obj_ = GuestCountsType105.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCounts = obj_ + obj_.original_tagname_ = 'GuestCounts' + elif nodeName_ == 'TimeSpan': + obj_ = TimeSpanType107.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TimeSpan = obj_ + obj_.original_tagname_ = 'TimeSpan' + elif nodeName_ == 'Comments': + obj_ = CommentsType108.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comments = obj_ + obj_.original_tagname_ = 'Comments' + elif nodeName_ == 'Total': + obj_ = TotalType112.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Total = obj_ + obj_.original_tagname_ = 'Total' + elif nodeName_ == 'ServiceDescription': + obj_ = ServiceDescriptionType113.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceDescription = obj_ + obj_.original_tagname_ = 'ServiceDescription' +# end class ServiceDetailsType104 + + +class GuestCountsType105(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuestCount is None: + self.GuestCount = [] + else: + self.GuestCount = GuestCount + self.GuestCount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountsType105) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountsType105.subclass: + return GuestCountsType105.subclass(*args_, **kwargs_) + else: + return GuestCountsType105(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestCount(self): + return self.GuestCount + def set_GuestCount(self, GuestCount): + self.GuestCount = GuestCount + def add_GuestCount(self, value): + self.GuestCount.append(value) + def insert_GuestCount_at(self, index, value): + self.GuestCount.insert(index, value) + def replace_GuestCount_at(self, index, value): + self.GuestCount[index] = value + def has__content(self): + if ( + self.GuestCount + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType105', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType105') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountsType105': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType105') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType105', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType105'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType105', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuestCount_ in self.GuestCount: + namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' + GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestCount': + obj_ = GuestCountType106.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCount.append(obj_) + obj_.original_tagname_ = 'GuestCount' +# end class GuestCountsType105 + + +class GuestCountType106(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Age=None, Count=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Age = _cast(int, Age) + self.Age_nsprefix_ = None + self.Count = _cast(int, Count) + self.Count_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountType106) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountType106.subclass: + return GuestCountType106.subclass(*args_, **kwargs_) + else: + return GuestCountType106(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Age(self): + return self.Age + def set_Age(self, Age): + self.Age = Age + def get_Count(self): + return self.Count + def set_Count(self, Count): + self.Count = Count + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType106', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType106') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountType106': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType106') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType106', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType106'): + if self.Age is not None and 'Age' not in already_processed: + already_processed.add('Age') + outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) + if self.Count is not None and 'Count' not in already_processed: + already_processed.add('Count') + outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType106', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Age', node) + if value is not None and 'Age' not in already_processed: + already_processed.add('Age') + self.Age = self.gds_parse_integer(value, node, 'Age') + if self.Age <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Age) # validate type def_int_gt0 + value = find_attr_value_('Count', node) + if value is not None and 'Count' not in already_processed: + already_processed.add('Count') + self.Count = self.gds_parse_integer(value, node, 'Count') + if self.Count <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class GuestCountType106 + + +class TimeSpanType107(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TimeSpanType107) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TimeSpanType107.subclass: + return TimeSpanType107.subclass(*args_, **kwargs_) + else: + return TimeSpanType107(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_def_datetime(self, value): + # Validate type def_datetime, a restriction on xs:dateTime. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.datetime): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_datetime_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) + validate_def_datetime_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType107', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType107') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TimeSpanType107': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType107') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType107', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType107'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_datetime(self.End, input_name='End')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType107', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (Start): %s' % exp) + self.validate_def_datetime(self.Start) # validate type def_datetime + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (End): %s' % exp) + self.validate_def_datetime(self.End) # validate type def_datetime + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TimeSpanType107 + + +class CommentsType108(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Comment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Comment = Comment + self.Comment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentsType108) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentsType108.subclass: + return CommentsType108.subclass(*args_, **kwargs_) + else: + return CommentsType108(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Comment(self): + return self.Comment + def set_Comment(self, Comment): + self.Comment = Comment + def has__content(self): + if ( + self.Comment is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType108', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType108') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentsType108': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType108') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType108', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType108'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType108', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Comment is not None: + namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' + self.Comment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Comment': + obj_ = CommentType109.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comment = obj_ + obj_.original_tagname_ = 'Comment' +# end class CommentsType108 + + +class CommentType109(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentType109) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentType109.subclass: + return CommentType109.subclass(*args_, **kwargs_) + else: + return CommentType109(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType109', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType109') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentType109': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType109') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType109', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType109'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType109', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType110.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text = obj_ + obj_.original_tagname_ = 'Text' +# end class CommentType109 + + +class TextType110(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType110) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType110.subclass: + return TextType110.subclass(*args_, **kwargs_) + else: + return TextType110(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType111(self, value): + # Validate type TextFormatType111, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType111' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType110', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType110') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType110': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType110') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType110'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType110', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType111(self.TextFormat) # validate type TextFormatType111 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType110 + + +class TotalType112(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TotalType112) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TotalType112.subclass: + return TotalType112.subclass(*args_, **kwargs_) + else: + return TotalType112(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType112', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType112') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TotalType112': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType112') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType112', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType112'): + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType112', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TotalType112 + + +class ServiceDescriptionType113(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceDescriptionType113) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceDescriptionType113.subclass: + return ServiceDescriptionType113.subclass(*args_, **kwargs_) + else: + return ServiceDescriptionType113(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType113', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDescriptionType113') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceDescriptionType113': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDescriptionType113') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDescriptionType113', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDescriptionType113'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType113', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType114.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text = obj_ + obj_.original_tagname_ = 'Text' +# end class ServiceDescriptionType113 + + +class TextType114(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType114) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType114.subclass: + return TextType114.subclass(*args_, **kwargs_) + else: + return TextType114(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType115(self, value): + # Validate type TextFormatType115, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType115' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType114', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType114') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType114': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType114') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType114'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType114', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType115(self.TextFormat) # validate type TextFormatType115 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType114 + + +class ResGuestsType120(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ResGuest=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ResGuest = ResGuest + self.ResGuest_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ResGuestsType120) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ResGuestsType120.subclass: + return ResGuestsType120.subclass(*args_, **kwargs_) + else: + return ResGuestsType120(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ResGuest(self): + return self.ResGuest + def set_ResGuest(self, ResGuest): + self.ResGuest = ResGuest + def has__content(self): + if ( + self.ResGuest is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType120', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestsType120') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ResGuestsType120': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestsType120') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestsType120', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestsType120'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType120', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ResGuest is not None: + namespaceprefix_ = self.ResGuest_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuest_nsprefix_) else '' + self.ResGuest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuest', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ResGuest': + obj_ = ResGuestType121.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ResGuest = obj_ + obj_.original_tagname_ = 'ResGuest' +# end class ResGuestsType120 + + +class ResGuestType121(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Profiles=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Profiles = Profiles + self.Profiles_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ResGuestType121) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ResGuestType121.subclass: + return ResGuestType121.subclass(*args_, **kwargs_) + else: + return ResGuestType121(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Profiles(self): + return self.Profiles + def set_Profiles(self, Profiles): + self.Profiles = Profiles + def has__content(self): + if ( + self.Profiles is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType121', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestType121') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ResGuestType121': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestType121') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestType121', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestType121'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType121', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Profiles is not None: + namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' + self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Profiles': + obj_ = ProfilesType122.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profiles = obj_ + obj_.original_tagname_ = 'Profiles' +# end class ResGuestType121 + + +class ProfilesType122(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ProfileInfo = ProfileInfo + self.ProfileInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfilesType122) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfilesType122.subclass: + return ProfilesType122.subclass(*args_, **kwargs_) + else: + return ProfilesType122(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ProfileInfo(self): + return self.ProfileInfo + def set_ProfileInfo(self, ProfileInfo): + self.ProfileInfo = ProfileInfo + def has__content(self): + if ( + self.ProfileInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType122', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType122') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfilesType122': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType122') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType122', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType122'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType122', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ProfileInfo is not None: + namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' + self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ProfileInfo': + obj_ = ProfileInfoType123.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ProfileInfo = obj_ + obj_.original_tagname_ = 'ProfileInfo' +# end class ProfilesType122 + + +class ProfileInfoType123(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Profile=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Profile = Profile + self.Profile_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileInfoType123) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileInfoType123.subclass: + return ProfileInfoType123.subclass(*args_, **kwargs_) + else: + return ProfileInfoType123(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Profile(self): + return self.Profile + def set_Profile(self, Profile): + self.Profile = Profile + def has__content(self): + if ( + self.Profile is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType123', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType123') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileInfoType123': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType123') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType123', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType123'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType123', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Profile is not None: + namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' + self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Profile': + obj_ = ProfileType124.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profile = obj_ + obj_.original_tagname_ = 'Profile' +# end class ProfileInfoType123 + + +class ProfileType124(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Customer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Customer = Customer + self.Customer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileType124) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileType124.subclass: + return ProfileType124.subclass(*args_, **kwargs_) + else: + return ProfileType124(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Customer(self): + return self.Customer + def set_Customer(self, Customer): + self.Customer = Customer + def has__content(self): + if ( + self.Customer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType124', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType124') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileType124': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType124') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType124', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType124'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType124', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Customer is not None: + namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' + self.Customer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Customer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Customer': + obj_ = CustomerType125.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Customer = obj_ + obj_.original_tagname_ = 'Customer' +# end class ProfileType124 + + +class CustomerType125(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Gender = _cast(None, Gender) + self.Gender_nsprefix_ = None + self.BirthDate = _cast(None, BirthDate) + self.BirthDate_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.PersonName = PersonName + self.PersonName_nsprefix_ = None + if Telephone is None: + self.Telephone = [] + else: + self.Telephone = Telephone + self.Telephone_nsprefix_ = None + self.Email = Email + self.Email_nsprefix_ = None + self.Address = Address + self.Address_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CustomerType125) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CustomerType125.subclass: + return CustomerType125.subclass(*args_, **kwargs_) + else: + return CustomerType125(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PersonName(self): + return self.PersonName + def set_PersonName(self, PersonName): + self.PersonName = PersonName + def get_Telephone(self): + return self.Telephone + def set_Telephone(self, Telephone): + self.Telephone = Telephone + def add_Telephone(self, value): + self.Telephone.append(value) + def insert_Telephone_at(self, index, value): + self.Telephone.insert(index, value) + def replace_Telephone_at(self, index, value): + self.Telephone[index] = value + def get_Email(self): + return self.Email + def set_Email(self, Email): + self.Email = Email + def get_Address(self): + return self.Address + def set_Address(self, Address): + self.Address = Address + def get_Gender(self): + return self.Gender + def set_Gender(self, Gender): + self.Gender = Gender + def get_BirthDate(self): + return self.BirthDate + def set_BirthDate(self, BirthDate): + self.BirthDate = BirthDate + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def validate_GenderType136(self, value): + # Validate type GenderType136, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_GenderType136_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_GenderType136_patterns_, )) + validate_GenderType136_patterns_ = [['^((Unknown|Male|Female))$']] + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_LanguageType137(self, value): + # Validate type LanguageType137, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType137_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType137_patterns_, )) + validate_LanguageType137_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + self.PersonName is not None or + self.Telephone or + self.Email is not None or + self.Address is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType125', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerType125') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CustomerType125': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerType125') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CustomerType125', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerType125'): + if self.Gender is not None and 'Gender' not in already_processed: + already_processed.add('Gender') + outfile.write(' Gender=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Gender), input_name='Gender')), )) + if self.BirthDate is not None and 'BirthDate' not in already_processed: + already_processed.add('BirthDate') + outfile.write(' BirthDate="%s"' % self.gds_format_date(self.BirthDate, input_name='BirthDate')) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType125', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PersonName is not None: + namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' + self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) + for Telephone_ in self.Telephone: + namespaceprefix_ = self.Telephone_nsprefix_ + ':' if (UseCapturedNS_ and self.Telephone_nsprefix_) else '' + Telephone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telephone', pretty_print=pretty_print) + if self.Email is not None: + namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' + self.Email.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) + if self.Address is not None: + namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' + self.Address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Gender', node) + if value is not None and 'Gender' not in already_processed: + already_processed.add('Gender') + self.Gender = value + self.validate_GenderType136(self.Gender) # validate type GenderType136 + value = find_attr_value_('BirthDate', node) + if value is not None and 'BirthDate' not in already_processed: + already_processed.add('BirthDate') + try: + self.BirthDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (BirthDate): %s' % exp) + self.validate_def_date(self.BirthDate) # validate type def_date + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType137(self.Language) # validate type LanguageType137 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PersonName': + obj_ = PersonNameType126.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PersonName = obj_ + obj_.original_tagname_ = 'PersonName' + elif nodeName_ == 'Telephone': + obj_ = TelephoneType127.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telephone.append(obj_) + obj_.original_tagname_ = 'Telephone' + elif nodeName_ == 'Email': + obj_ = EmailType130.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Email = obj_ + obj_.original_tagname_ = 'Email' + elif nodeName_ == 'Address': + obj_ = AddressType132.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Address = obj_ + obj_.original_tagname_ = 'Address' +# end class CustomerType125 + + +class PersonNameType126(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NamePrefix = NamePrefix + self.validate_StringLength1to16(self.NamePrefix) + self.NamePrefix_nsprefix_ = None + self.GivenName = GivenName + self.validate_StringLength1to64(self.GivenName) + self.GivenName_nsprefix_ = None + self.Surname = Surname + self.validate_StringLength1to64(self.Surname) + self.Surname_nsprefix_ = None + self.NameTitle = NameTitle + self.validate_StringLength1to16(self.NameTitle) + self.NameTitle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PersonNameType126) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PersonNameType126.subclass: + return PersonNameType126.subclass(*args_, **kwargs_) + else: + return PersonNameType126(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NamePrefix(self): + return self.NamePrefix + def set_NamePrefix(self, NamePrefix): + self.NamePrefix = NamePrefix + def get_GivenName(self): + return self.GivenName + def set_GivenName(self, GivenName): + self.GivenName = GivenName + def get_Surname(self): + return self.Surname + def set_Surname(self, Surname): + self.Surname = Surname + def get_NameTitle(self): + return self.NameTitle + def set_NameTitle(self, NameTitle): + self.NameTitle = NameTitle + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.NamePrefix is not None or + self.GivenName is not None or + self.Surname is not None or + self.NameTitle is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType126', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType126') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PersonNameType126': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType126') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType126', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType126'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType126', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.NamePrefix is not None: + namespaceprefix_ = self.NamePrefix_nsprefix_ + ':' if (UseCapturedNS_ and self.NamePrefix_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sNamePrefix>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NamePrefix), input_name='NamePrefix')), namespaceprefix_ , eol_)) + if self.GivenName is not None: + namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sGivenName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GivenName), input_name='GivenName')), namespaceprefix_ , eol_)) + if self.Surname is not None: + namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSurname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Surname), input_name='Surname')), namespaceprefix_ , eol_)) + if self.NameTitle is not None: + namespaceprefix_ = self.NameTitle_nsprefix_ + ':' if (UseCapturedNS_ and self.NameTitle_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sNameTitle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NameTitle), input_name='NameTitle')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'NamePrefix': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'NamePrefix') + value_ = self.gds_validate_string(value_, node, 'NamePrefix') + self.NamePrefix = value_ + self.NamePrefix_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.NamePrefix) + elif nodeName_ == 'GivenName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'GivenName') + value_ = self.gds_validate_string(value_, node, 'GivenName') + self.GivenName = value_ + self.GivenName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.GivenName) + elif nodeName_ == 'Surname': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Surname') + value_ = self.gds_validate_string(value_, node, 'Surname') + self.Surname = value_ + self.Surname_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.Surname) + elif nodeName_ == 'NameTitle': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'NameTitle') + value_ = self.gds_validate_string(value_, node, 'NameTitle') + self.NameTitle = value_ + self.NameTitle_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.NameTitle) +# end class PersonNameType126 + + +class TelephoneType127(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PhoneTechType = _cast(None, PhoneTechType) + self.PhoneTechType_nsprefix_ = None + self.PhoneNumber = _cast(None, PhoneNumber) + self.PhoneNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TelephoneType127) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TelephoneType127.subclass: + return TelephoneType127.subclass(*args_, **kwargs_) + else: + return TelephoneType127(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PhoneTechType(self): + return self.PhoneTechType + def set_PhoneTechType(self, PhoneTechType): + self.PhoneTechType = PhoneTechType + def get_PhoneNumber(self): + return self.PhoneNumber + def set_PhoneNumber(self, PhoneNumber): + self.PhoneNumber = PhoneNumber + def validate_PhoneTechTypeType128(self, value): + # Validate type PhoneTechTypeType128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneTechTypeType128_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType128_patterns_, )) + validate_PhoneTechTypeType128_patterns_ = [['^((1|3|5))$']] + def validate_PhoneNumberType129(self, value): + # Validate type PhoneNumberType129, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneNumberType129_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType129_patterns_, )) + validate_PhoneNumberType129_patterns_ = [['^(\\+?[0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType127', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneType127') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TelephoneType127': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneType127') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneType127', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneType127'): + if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) + if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType127', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('PhoneTechType', node) + if value is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + self.PhoneTechType = value + self.validate_PhoneTechTypeType128(self.PhoneTechType) # validate type PhoneTechTypeType128 + value = find_attr_value_('PhoneNumber', node) + if value is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + self.PhoneNumber = value + self.validate_PhoneNumberType129(self.PhoneNumber) # validate type PhoneNumberType129 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TelephoneType127 + + +class EmailType130(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Remark=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Remark = _cast(None, Remark) + self.Remark_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EmailType130) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EmailType130.subclass: + return EmailType130.subclass(*args_, **kwargs_) + else: + return EmailType130(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Remark(self): + return self.Remark + def set_Remark(self, Remark): + self.Remark = Remark + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_email_string(self, value): + result = True + # Validate type def_email_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_email_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_email_string_patterns_, )) + result = False + return result + validate_def_email_string_patterns_ = [['^(\\S+@\\S+)$']] + def validate_RemarkType131(self, value): + # Validate type RemarkType131, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_RemarkType131_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType131_patterns_, )) + validate_RemarkType131_patterns_ = [['^(newsletter:(no|yes))$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType130', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType130') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EmailType130': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType130') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType130'): + if self.Remark is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType130', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Remark', node) + if value is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + self.Remark = value + self.validate_RemarkType131(self.Remark) # validate type RemarkType131 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class EmailType130 + + +class AddressType132(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Remark = _cast(None, Remark) + self.Remark_nsprefix_ = None + self.AddressLine = AddressLine + self.validate_StringLength1to255(self.AddressLine) + self.AddressLine_nsprefix_ = None + self.CityName = CityName + self.validate_StringLength1to64(self.CityName) + self.CityName_nsprefix_ = None + self.PostalCode = PostalCode + self.validate_StringLength1to16(self.PostalCode) + self.PostalCode_nsprefix_ = None + self.CountryName = CountryName + self.CountryName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressType132) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressType132.subclass: + return AddressType132.subclass(*args_, **kwargs_) + else: + return AddressType132(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AddressLine(self): + return self.AddressLine + def set_AddressLine(self, AddressLine): + self.AddressLine = AddressLine + def get_CityName(self): + return self.CityName + def set_CityName(self, CityName): + self.CityName = CityName + def get_PostalCode(self): + return self.PostalCode + def set_PostalCode(self, PostalCode): + self.PostalCode = PostalCode + def get_CountryName(self): + return self.CountryName + def set_CountryName(self, CountryName): + self.CountryName = CountryName + def get_Remark(self): + return self.Remark + def set_Remark(self, Remark): + self.Remark = Remark + def validate_StringLength1to255(self, value): + result = True + # Validate type StringLength1to255, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 255: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_RemarkType135(self, value): + # Validate type RemarkType135, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_RemarkType135_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType135_patterns_, )) + validate_RemarkType135_patterns_ = [['^(catalog:(no|yes))$']] + def has__content(self): + if ( + self.AddressLine is not None or + self.CityName is not None or + self.PostalCode is not None or + self.CountryName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType132', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType132') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressType132': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType132') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType132', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType132'): + if self.Remark is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType132', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AddressLine is not None: + namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) + if self.CityName is not None: + namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) + if self.PostalCode is not None: + namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) + if self.CountryName is not None: + namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' + self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Remark', node) + if value is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + self.Remark = value + self.validate_RemarkType135(self.Remark) # validate type RemarkType135 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AddressLine': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine') + value_ = self.gds_validate_string(value_, node, 'AddressLine') + self.AddressLine = value_ + self.AddressLine_nsprefix_ = child_.prefix + # validate type StringLength1to255 + self.validate_StringLength1to255(self.AddressLine) + elif nodeName_ == 'CityName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CityName') + value_ = self.gds_validate_string(value_, node, 'CityName') + self.CityName = value_ + self.CityName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CityName) + elif nodeName_ == 'PostalCode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PostalCode') + value_ = self.gds_validate_string(value_, node, 'PostalCode') + self.PostalCode = value_ + self.PostalCode_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.PostalCode) + elif nodeName_ == 'CountryName': + obj_ = CountryNameType133.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CountryName = obj_ + obj_.original_tagname_ = 'CountryName' +# end class AddressType132 + + +class CountryNameType133(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CountryNameType133) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CountryNameType133.subclass: + return CountryNameType133.subclass(*args_, **kwargs_) + else: + return CountryNameType133(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def validate_CodeType134(self, value): + # Validate type CodeType134, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CodeType134_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType134_patterns_, )) + validate_CodeType134_patterns_ = [['^([A-Z][A-Z])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType133', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType133') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CountryNameType133': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType133') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType133', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType133'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType133', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType134(self.Code) # validate type CodeType134 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CountryNameType133 + + +class ResGlobalInfoType138(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Comments = Comments + self.Comments_nsprefix_ = None + self.SpecialRequests = SpecialRequests + self.SpecialRequests_nsprefix_ = None + self.DepositPayments = DepositPayments + self.DepositPayments_nsprefix_ = None + self.CancelPenalties = CancelPenalties + self.CancelPenalties_nsprefix_ = None + self.HotelReservationIDs = HotelReservationIDs + self.HotelReservationIDs_nsprefix_ = None + self.Profiles = Profiles + self.Profiles_nsprefix_ = None + self.BasicPropertyInfo = BasicPropertyInfo + self.BasicPropertyInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ResGlobalInfoType138) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ResGlobalInfoType138.subclass: + return ResGlobalInfoType138.subclass(*args_, **kwargs_) + else: + return ResGlobalInfoType138(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Comments(self): + return self.Comments + def set_Comments(self, Comments): + self.Comments = Comments + def get_SpecialRequests(self): + return self.SpecialRequests + def set_SpecialRequests(self, SpecialRequests): + self.SpecialRequests = SpecialRequests + def get_DepositPayments(self): + return self.DepositPayments + def set_DepositPayments(self, DepositPayments): + self.DepositPayments = DepositPayments + def get_CancelPenalties(self): + return self.CancelPenalties + def set_CancelPenalties(self, CancelPenalties): + self.CancelPenalties = CancelPenalties + def get_HotelReservationIDs(self): + return self.HotelReservationIDs + def set_HotelReservationIDs(self, HotelReservationIDs): + self.HotelReservationIDs = HotelReservationIDs + def get_Profiles(self): + return self.Profiles + def set_Profiles(self, Profiles): + self.Profiles = Profiles + def get_BasicPropertyInfo(self): + return self.BasicPropertyInfo + def set_BasicPropertyInfo(self, BasicPropertyInfo): + self.BasicPropertyInfo = BasicPropertyInfo + def has__content(self): + if ( + self.Comments is not None or + self.SpecialRequests is not None or + self.DepositPayments is not None or + self.CancelPenalties is not None or + self.HotelReservationIDs is not None or + self.Profiles is not None or + self.BasicPropertyInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType138', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGlobalInfoType138') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ResGlobalInfoType138': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGlobalInfoType138') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGlobalInfoType138', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGlobalInfoType138'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType138', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Comments is not None: + namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' + self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) + if self.SpecialRequests is not None: + namespaceprefix_ = self.SpecialRequests_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequests_nsprefix_) else '' + self.SpecialRequests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequests', pretty_print=pretty_print) + if self.DepositPayments is not None: + namespaceprefix_ = self.DepositPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.DepositPayments_nsprefix_) else '' + self.DepositPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepositPayments', pretty_print=pretty_print) + if self.CancelPenalties is not None: + namespaceprefix_ = self.CancelPenalties_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalties_nsprefix_) else '' + self.CancelPenalties.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalties', pretty_print=pretty_print) + if self.HotelReservationIDs is not None: + namespaceprefix_ = self.HotelReservationIDs_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationIDs_nsprefix_) else '' + self.HotelReservationIDs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationIDs', pretty_print=pretty_print) + if self.Profiles is not None: + namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' + self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) + if self.BasicPropertyInfo is not None: + namespaceprefix_ = self.BasicPropertyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.BasicPropertyInfo_nsprefix_) else '' + self.BasicPropertyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BasicPropertyInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Comments': + obj_ = CommentsType139.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comments = obj_ + obj_.original_tagname_ = 'Comments' + elif nodeName_ == 'SpecialRequests': + obj_ = SpecialRequestsType144.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SpecialRequests = obj_ + obj_.original_tagname_ = 'SpecialRequests' + elif nodeName_ == 'DepositPayments': + obj_ = DepositPaymentsType149.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DepositPayments = obj_ + obj_.original_tagname_ = 'DepositPayments' + elif nodeName_ == 'CancelPenalties': + obj_ = CancelPenaltiesType165.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPenalties = obj_ + obj_.original_tagname_ = 'CancelPenalties' + elif nodeName_ == 'HotelReservationIDs': + obj_ = HotelReservationIDsType168.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservationIDs = obj_ + obj_.original_tagname_ = 'HotelReservationIDs' + elif nodeName_ == 'Profiles': + obj_ = ProfilesType170.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profiles = obj_ + obj_.original_tagname_ = 'Profiles' + elif nodeName_ == 'BasicPropertyInfo': + obj_ = BasicPropertyInfoType182.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BasicPropertyInfo = obj_ + obj_.original_tagname_ = 'BasicPropertyInfo' +# end class ResGlobalInfoType138 + + +class CommentsType139(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Comment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Comment is None: + self.Comment = [] + else: + self.Comment = Comment + self.Comment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentsType139) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentsType139.subclass: + return CommentsType139.subclass(*args_, **kwargs_) + else: + return CommentsType139(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Comment(self): + return self.Comment + def set_Comment(self, Comment): + self.Comment = Comment + def add_Comment(self, value): + self.Comment.append(value) + def insert_Comment_at(self, index, value): + self.Comment.insert(index, value) + def replace_Comment_at(self, index, value): + self.Comment[index] = value + def has__content(self): + if ( + self.Comment + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType139', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType139') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentsType139': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType139') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType139', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType139'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType139', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Comment_ in self.Comment: + namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' + Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Comment': + obj_ = CommentType140.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comment.append(obj_) + obj_.original_tagname_ = 'Comment' +# end class CommentsType139 + + +class CommentType140(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + self.Text = Text + self.validate_def_nonempty_string(self.Text) + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentType140) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentType140.subclass: + return CommentType140.subclass(*args_, **kwargs_) + else: + return CommentType140(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_NameType143(self, value): + # Validate type NameType143, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['included services', 'customer comment', 'additional info'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType143' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem or + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType140', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType140') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentType140': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType140') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType140', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType140'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType140', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType143(self.Name) # validate type NameType143 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + obj_ = ListItemType141.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ListItem.append(obj_) + obj_.original_tagname_ = 'ListItem' + elif nodeName_ == 'Text': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Text') + value_ = self.gds_validate_string(value_, node, 'Text') + self.Text = value_ + self.Text_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.Text) +# end class CommentType140 + + +class ListItemType141(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ListItem = _cast(int, ListItem) + self.ListItem_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ListItemType141) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ListItemType141.subclass: + return ListItemType141.subclass(*args_, **kwargs_) + else: + return ListItemType141(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_LanguageType142(self, value): + # Validate type LanguageType142, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType142_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType142_patterns_, )) + validate_LanguageType142_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType141', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType141') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ListItemType141': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType141') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType141'): + if self.ListItem is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType141', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ListItem', node) + if value is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + self.ListItem = self.gds_parse_integer(value, node, 'ListItem') + if self.ListItem < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType142(self.Language) # validate type LanguageType142 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ListItemType141 + + +class SpecialRequestsType144(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, SpecialRequest=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if SpecialRequest is None: + self.SpecialRequest = [] + else: + self.SpecialRequest = SpecialRequest + self.SpecialRequest_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SpecialRequestsType144) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SpecialRequestsType144.subclass: + return SpecialRequestsType144.subclass(*args_, **kwargs_) + else: + return SpecialRequestsType144(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_SpecialRequest(self): + return self.SpecialRequest + def set_SpecialRequest(self, SpecialRequest): + self.SpecialRequest = SpecialRequest + def add_SpecialRequest(self, value): + self.SpecialRequest.append(value) + def insert_SpecialRequest_at(self, index, value): + self.SpecialRequest.insert(index, value) + def replace_SpecialRequest_at(self, index, value): + self.SpecialRequest[index] = value + def has__content(self): + if ( + self.SpecialRequest + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType144', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestsType144') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SpecialRequestsType144': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestsType144') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestsType144', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestsType144'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType144', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for SpecialRequest_ in self.SpecialRequest: + namespaceprefix_ = self.SpecialRequest_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequest_nsprefix_) else '' + SpecialRequest_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequest', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'SpecialRequest': + obj_ = SpecialRequestType145.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SpecialRequest.append(obj_) + obj_.original_tagname_ = 'SpecialRequest' +# end class SpecialRequestsType144 + + +class SpecialRequestType145(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RequestCode=None, CodeContext=None, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RequestCode = _cast(None, RequestCode) + self.RequestCode_nsprefix_ = None + self.CodeContext = _cast(None, CodeContext) + self.CodeContext_nsprefix_ = None + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SpecialRequestType145) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SpecialRequestType145.subclass: + return SpecialRequestType145.subclass(*args_, **kwargs_) + else: + return SpecialRequestType145(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def get_RequestCode(self): + return self.RequestCode + def set_RequestCode(self, RequestCode): + self.RequestCode = RequestCode + def get_CodeContext(self): + return self.CodeContext + def set_CodeContext(self, CodeContext): + self.CodeContext = CodeContext + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_CodeContextType148(self, value): + # Validate type CodeContextType148, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS', 'HOTEL'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType148' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType145', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestType145') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SpecialRequestType145': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestType145') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestType145', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestType145'): + if self.RequestCode is not None and 'RequestCode' not in already_processed: + already_processed.add('RequestCode') + outfile.write(' RequestCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RequestCode), input_name='RequestCode')), )) + if self.CodeContext is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType145', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RequestCode', node) + if value is not None and 'RequestCode' not in already_processed: + already_processed.add('RequestCode') + self.RequestCode = value + self.validate_StringLength1to16(self.RequestCode) # validate type StringLength1to16 + value = find_attr_value_('CodeContext', node) + if value is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + self.CodeContext = value + self.validate_CodeContextType148(self.CodeContext) # validate type CodeContextType148 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType146.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text = obj_ + obj_.original_tagname_ = 'Text' +# end class SpecialRequestType145 + + +class TextType146(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType146) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType146.subclass: + return TextType146.subclass(*args_, **kwargs_) + else: + return TextType146(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TextFormatType147(self, value): + # Validate type TextFormatType147, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType147' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType146', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType146') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType146': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType146') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType146'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType146', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType147(self.TextFormat) # validate type TextFormatType147 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType146 + + +class DepositPaymentsType149(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuaranteePayment is None: + self.GuaranteePayment = [] + else: + self.GuaranteePayment = GuaranteePayment + self.GuaranteePayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DepositPaymentsType149) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DepositPaymentsType149.subclass: + return DepositPaymentsType149.subclass(*args_, **kwargs_) + else: + return DepositPaymentsType149(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteePayment(self): + return self.GuaranteePayment + def set_GuaranteePayment(self, GuaranteePayment): + self.GuaranteePayment = GuaranteePayment + def add_GuaranteePayment(self, value): + self.GuaranteePayment.append(value) + def insert_GuaranteePayment_at(self, index, value): + self.GuaranteePayment.insert(index, value) + def replace_GuaranteePayment_at(self, index, value): + self.GuaranteePayment[index] = value + def has__content(self): + if ( + self.GuaranteePayment + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType149', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepositPaymentsType149') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DepositPaymentsType149': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepositPaymentsType149') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepositPaymentsType149', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepositPaymentsType149'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType149', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuaranteePayment_ in self.GuaranteePayment: + namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' + GuaranteePayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteePayment': + obj_ = GuaranteePaymentType150.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteePayment.append(obj_) + obj_.original_tagname_ = 'GuaranteePayment' +# end class DepositPaymentsType149 + + +class GuaranteePaymentType150(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.GuaranteeCode = _cast(None, GuaranteeCode) + self.GuaranteeCode_nsprefix_ = None + self.AcceptedPayments = AcceptedPayments + self.AcceptedPayments_nsprefix_ = None + self.AmountPercent = AmountPercent + self.AmountPercent_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteePaymentType150) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteePaymentType150.subclass: + return GuaranteePaymentType150.subclass(*args_, **kwargs_) + else: + return GuaranteePaymentType150(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayments(self): + return self.AcceptedPayments + def set_AcceptedPayments(self, AcceptedPayments): + self.AcceptedPayments = AcceptedPayments + def get_AmountPercent(self): + return self.AmountPercent + def set_AmountPercent(self, AmountPercent): + self.AmountPercent = AmountPercent + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_GuaranteeCode(self): + return self.GuaranteeCode + def set_GuaranteeCode(self, GuaranteeCode): + self.GuaranteeCode = GuaranteeCode + def has__content(self): + if ( + self.AcceptedPayments is not None or + self.AmountPercent is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType150', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType150') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType150': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType150') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType150', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType150'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) + if self.GuaranteeCode is not None and 'GuaranteeCode' not in already_processed: + already_processed.add('GuaranteeCode') + outfile.write(' GuaranteeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeCode), input_name='GuaranteeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType150', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AcceptedPayments is not None: + namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' + self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) + if self.AmountPercent is not None: + namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' + self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + self.Start = value + value = find_attr_value_('GuaranteeCode', node) + if value is not None and 'GuaranteeCode' not in already_processed: + already_processed.add('GuaranteeCode') + self.GuaranteeCode = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayments': + obj_ = AcceptedPaymentsType151.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayments = obj_ + obj_.original_tagname_ = 'AcceptedPayments' + elif nodeName_ == 'AmountPercent': + obj_ = AmountPercentType164.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AmountPercent = obj_ + obj_.original_tagname_ = 'AmountPercent' +# end class GuaranteePaymentType150 + + +class AcceptedPaymentsType151(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AcceptedPayment = AcceptedPayment + self.AcceptedPayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentsType151) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentsType151.subclass: + return AcceptedPaymentsType151.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentsType151(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayment(self): + return self.AcceptedPayment + def set_AcceptedPayment(self, AcceptedPayment): + self.AcceptedPayment = AcceptedPayment + def has__content(self): + if ( + self.AcceptedPayment is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType151', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType151') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType151': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType151') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType151', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType151'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType151', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AcceptedPayment is not None: + namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' + self.AcceptedPayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayment': + obj_ = AcceptedPaymentType152.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayment = obj_ + obj_.original_tagname_ = 'AcceptedPayment' +# end class AcceptedPaymentsType151 + + +class AcceptedPaymentType152(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteeTypeCode = _cast(None, GuaranteeTypeCode) + self.GuaranteeTypeCode_nsprefix_ = None + self.GuaranteeID = _cast(None, GuaranteeID) + self.GuaranteeID_nsprefix_ = None + self.PaymentTransactionTypeCode = _cast(None, PaymentTransactionTypeCode) + self.PaymentTransactionTypeCode_nsprefix_ = None + self.PaymentCard = PaymentCard + self.PaymentCard_nsprefix_ = None + self.BankAcct = BankAcct + self.BankAcct_nsprefix_ = None + self.Voucher = Voucher + self.Voucher_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentType152) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentType152.subclass: + return AcceptedPaymentType152.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentType152(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PaymentCard(self): + return self.PaymentCard + def set_PaymentCard(self, PaymentCard): + self.PaymentCard = PaymentCard + def get_BankAcct(self): + return self.BankAcct + def set_BankAcct(self, BankAcct): + self.BankAcct = BankAcct + def get_Voucher(self): + return self.Voucher + def set_Voucher(self, Voucher): + self.Voucher = Voucher + def get_GuaranteeTypeCode(self): + return self.GuaranteeTypeCode + def set_GuaranteeTypeCode(self, GuaranteeTypeCode): + self.GuaranteeTypeCode = GuaranteeTypeCode + def get_GuaranteeID(self): + return self.GuaranteeID + def set_GuaranteeID(self, GuaranteeID): + self.GuaranteeID = GuaranteeID + def get_PaymentTransactionTypeCode(self): + return self.PaymentTransactionTypeCode + def set_PaymentTransactionTypeCode(self, PaymentTransactionTypeCode): + self.PaymentTransactionTypeCode = PaymentTransactionTypeCode + def has__content(self): + if ( + self.PaymentCard is not None or + self.BankAcct is not None or + self.Voucher is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType152', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType152') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType152': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType152') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType152', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType152'): + if self.GuaranteeTypeCode is not None and 'GuaranteeTypeCode' not in already_processed: + already_processed.add('GuaranteeTypeCode') + outfile.write(' GuaranteeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeTypeCode), input_name='GuaranteeTypeCode')), )) + if self.GuaranteeID is not None and 'GuaranteeID' not in already_processed: + already_processed.add('GuaranteeID') + outfile.write(' GuaranteeID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeID), input_name='GuaranteeID')), )) + if self.PaymentTransactionTypeCode is not None and 'PaymentTransactionTypeCode' not in already_processed: + already_processed.add('PaymentTransactionTypeCode') + outfile.write(' PaymentTransactionTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PaymentTransactionTypeCode), input_name='PaymentTransactionTypeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType152', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PaymentCard is not None: + namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' + self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) + if self.BankAcct is not None: + namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' + self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) + if self.Voucher is not None: + namespaceprefix_ = self.Voucher_nsprefix_ + ':' if (UseCapturedNS_ and self.Voucher_nsprefix_) else '' + self.Voucher.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Voucher', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('GuaranteeTypeCode', node) + if value is not None and 'GuaranteeTypeCode' not in already_processed: + already_processed.add('GuaranteeTypeCode') + self.GuaranteeTypeCode = value + value = find_attr_value_('GuaranteeID', node) + if value is not None and 'GuaranteeID' not in already_processed: + already_processed.add('GuaranteeID') + self.GuaranteeID = value + value = find_attr_value_('PaymentTransactionTypeCode', node) + if value is not None and 'PaymentTransactionTypeCode' not in already_processed: + already_processed.add('PaymentTransactionTypeCode') + self.PaymentTransactionTypeCode = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PaymentCard': + obj_ = PaymentCardType153.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PaymentCard = obj_ + obj_.original_tagname_ = 'PaymentCard' + elif nodeName_ == 'BankAcct': + obj_ = BankAcctType159.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcct = obj_ + obj_.original_tagname_ = 'BankAcct' + elif nodeName_ == 'Voucher': + obj_ = VoucherType162.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Voucher = obj_ + obj_.original_tagname_ = 'Voucher' +# end class AcceptedPaymentType152 + + +class PaymentCardType153(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CardCode = _cast(None, CardCode) + self.CardCode_nsprefix_ = None + self.ExpireDate = _cast(None, ExpireDate) + self.ExpireDate_nsprefix_ = None + self.CardHolderName = CardHolderName + self.validate_StringLength1to64(self.CardHolderName) + self.CardHolderName_nsprefix_ = None + self.CardNumber = CardNumber + self.CardNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PaymentCardType153) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PaymentCardType153.subclass: + return PaymentCardType153.subclass(*args_, **kwargs_) + else: + return PaymentCardType153(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CardHolderName(self): + return self.CardHolderName + def set_CardHolderName(self, CardHolderName): + self.CardHolderName = CardHolderName + def get_CardNumber(self): + return self.CardNumber + def set_CardNumber(self, CardNumber): + self.CardNumber = CardNumber + def get_CardCode(self): + return self.CardCode + def set_CardCode(self, CardCode): + self.CardCode = CardCode + def get_ExpireDate(self): + return self.ExpireDate + def set_ExpireDate(self, ExpireDate): + self.ExpireDate = ExpireDate + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_CardCodeType157(self, value): + # Validate type CardCodeType157, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CardCodeType157_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType157_patterns_, )) + validate_CardCodeType157_patterns_ = [['^([A-Z]{1,2})$']] + def validate_ExpireDateType158(self, value): + # Validate type ExpireDateType158, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ExpireDateType158_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType158_patterns_, )) + validate_ExpireDateType158_patterns_ = [['^((0[1-9]|1[0-2])[0-9][0-9])$']] + def has__content(self): + if ( + self.CardHolderName is not None or + self.CardNumber is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType153', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType153') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PaymentCardType153': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType153') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType153', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType153'): + if self.CardCode is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) + if self.ExpireDate is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType153', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CardHolderName is not None: + namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) + if self.CardNumber is not None: + namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' + self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CardCode', node) + if value is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + self.CardCode = value + self.validate_CardCodeType157(self.CardCode) # validate type CardCodeType157 + value = find_attr_value_('ExpireDate', node) + if value is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + self.ExpireDate = value + self.validate_ExpireDateType158(self.ExpireDate) # validate type ExpireDateType158 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CardHolderName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CardHolderName') + value_ = self.gds_validate_string(value_, node, 'CardHolderName') + self.CardHolderName = value_ + self.CardHolderName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CardHolderName) + elif nodeName_ == 'CardNumber': + obj_ = CardNumberType154.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CardNumber = obj_ + obj_.original_tagname_ = 'CardNumber' +# end class PaymentCardType153 + + +class CardNumberType154(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mask=None, Token=None, TokenProviderID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mask = _cast(None, Mask) + self.Mask_nsprefix_ = None + self.Token = _cast(None, Token) + self.Token_nsprefix_ = None + self.TokenProviderID = _cast(None, TokenProviderID) + self.TokenProviderID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CardNumberType154) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CardNumberType154.subclass: + return CardNumberType154.subclass(*args_, **kwargs_) + else: + return CardNumberType154(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mask(self): + return self.Mask + def set_Mask(self, Mask): + self.Mask = Mask + def get_Token(self): + return self.Token + def set_Token(self, Token): + self.Token = Token + def get_TokenProviderID(self): + return self.TokenProviderID + def set_TokenProviderID(self, TokenProviderID): + self.TokenProviderID = TokenProviderID + def validate_MaskType155(self, value): + # Validate type MaskType155, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MaskType155_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType155_patterns_, )) + validate_MaskType155_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] + def validate_TokenType156(self, value): + # Validate type TokenType156, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_TokenType156_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TokenType156_patterns_, )) + validate_TokenType156_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType154', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType154') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CardNumberType154': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType154') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType154', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType154'): + if self.Mask is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) + if self.Token is not None and 'Token' not in already_processed: + already_processed.add('Token') + outfile.write(' Token=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Token), input_name='Token')), )) + if self.TokenProviderID is not None and 'TokenProviderID' not in already_processed: + already_processed.add('TokenProviderID') + outfile.write(' TokenProviderID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TokenProviderID), input_name='TokenProviderID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType154', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mask', node) + if value is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + self.Mask = value + self.validate_MaskType155(self.Mask) # validate type MaskType155 + value = find_attr_value_('Token', node) + if value is not None and 'Token' not in already_processed: + already_processed.add('Token') + self.Token = value + self.validate_TokenType156(self.Token) # validate type TokenType156 + value = find_attr_value_('TokenProviderID', node) + if value is not None and 'TokenProviderID' not in already_processed: + already_processed.add('TokenProviderID') + self.TokenProviderID = value + self.validate_def_nonempty_string(self.TokenProviderID) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CardNumberType154 + + +class BankAcctType159(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BankAcctName=None, BankAcctNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BankAcctName = BankAcctName + self.validate_StringLength1to64(self.BankAcctName) + self.BankAcctName_nsprefix_ = None + self.BankAcctNumber = BankAcctNumber + self.BankAcctNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctType159) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctType159.subclass: + return BankAcctType159.subclass(*args_, **kwargs_) + else: + return BankAcctType159(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BankAcctName(self): + return self.BankAcctName + def set_BankAcctName(self, BankAcctName): + self.BankAcctName = BankAcctName + def get_BankAcctNumber(self): + return self.BankAcctNumber + def set_BankAcctNumber(self, BankAcctNumber): + self.BankAcctNumber = BankAcctNumber + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.BankAcctName is not None or + self.BankAcctNumber is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType159', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType159') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctType159': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType159') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType159', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType159'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType159', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BankAcctName is not None: + namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sBankAcctName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BankAcctName), input_name='BankAcctName')), namespaceprefix_ , eol_)) + if self.BankAcctNumber is not None: + namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' + self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BankAcctName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'BankAcctName') + value_ = self.gds_validate_string(value_, node, 'BankAcctName') + self.BankAcctName = value_ + self.BankAcctName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.BankAcctName) + elif nodeName_ == 'BankAcctNumber': + obj_ = BankAcctNumberType160.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcctNumber = obj_ + obj_.original_tagname_ = 'BankAcctNumber' +# end class BankAcctType159 + + +class BankAcctNumberType160(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mask=None, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mask = _cast(None, Mask) + self.Mask_nsprefix_ = None + self.PlainText = PlainText + self.validate_NumericStringLength1to19(self.PlainText) + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctNumberType160) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctNumberType160.subclass: + return BankAcctNumberType160.subclass(*args_, **kwargs_) + else: + return BankAcctNumberType160(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def get_Mask(self): + return self.Mask + def set_Mask(self, Mask): + self.Mask = Mask + def validate_NumericStringLength1to19(self, value): + result = True + # Validate type NumericStringLength1to19, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to19_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) + result = False + return result + validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] + def validate_MaskType161(self, value): + # Validate type MaskType161, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MaskType161_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType161_patterns_, )) + validate_MaskType161_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType160', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType160') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctNumberType160': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType160') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType160', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType160'): + if self.Mask is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType160', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mask', node) + if value is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + self.Mask = value + self.validate_MaskType161(self.Mask) # validate type MaskType161 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PlainText') + value_ = self.gds_validate_string(value_, node, 'PlainText') + self.PlainText = value_ + self.PlainText_nsprefix_ = child_.prefix + # validate type NumericStringLength1to19 + self.validate_NumericStringLength1to19(self.PlainText) +# end class BankAcctNumberType160 + + +class VoucherType162(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ElectronicIndicator=None, Identifier=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ElectronicIndicator = _cast(bool, ElectronicIndicator) + self.ElectronicIndicator_nsprefix_ = None + self.Identifier = _cast(None, Identifier) + self.Identifier_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VoucherType162) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VoucherType162.subclass: + return VoucherType162.subclass(*args_, **kwargs_) + else: + return VoucherType162(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ElectronicIndicator(self): + return self.ElectronicIndicator + def set_ElectronicIndicator(self, ElectronicIndicator): + self.ElectronicIndicator = ElectronicIndicator + def get_Identifier(self): + return self.Identifier + def set_Identifier(self, Identifier): + self.Identifier = Identifier + def validate_ElectronicIndicatorType163(self, value): + # Validate type ElectronicIndicatorType163, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_ElectronicIndicatorType163_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ElectronicIndicatorType163_patterns_, )) + validate_ElectronicIndicatorType163_patterns_ = [['^(1|true)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType162', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VoucherType162') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VoucherType162': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VoucherType162') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VoucherType162', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VoucherType162'): + if self.ElectronicIndicator is not None and 'ElectronicIndicator' not in already_processed: + already_processed.add('ElectronicIndicator') + outfile.write(' ElectronicIndicator="%s"' % self.gds_format_boolean(self.ElectronicIndicator, input_name='ElectronicIndicator')) + if self.Identifier is not None and 'Identifier' not in already_processed: + already_processed.add('Identifier') + outfile.write(' Identifier=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Identifier), input_name='Identifier')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType162', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ElectronicIndicator', node) + if value is not None and 'ElectronicIndicator' not in already_processed: + already_processed.add('ElectronicIndicator') + if value in ('true', '1'): + self.ElectronicIndicator = True + elif value in ('false', '0'): + self.ElectronicIndicator = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_ElectronicIndicatorType163(self.ElectronicIndicator) # validate type ElectronicIndicatorType163 + value = find_attr_value_('Identifier', node) + if value is not None and 'Identifier' not in already_processed: + already_processed.add('Identifier') + self.Identifier = value + self.validate_StringLength1to64(self.Identifier) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class VoucherType162 + + +class AmountPercentType164(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmountPercentType164) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmountPercentType164.subclass: + return AmountPercentType164.subclass(*args_, **kwargs_) + else: + return AmountPercentType164(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType164', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType164') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmountPercentType164': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType164') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType164', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType164'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType164', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_gt0(self.Amount) # validate type def_decimal_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AmountPercentType164 + + +class CancelPenaltiesType165(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CancelPenalty = CancelPenalty + self.CancelPenalty_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPenaltiesType165) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPenaltiesType165.subclass: + return CancelPenaltiesType165.subclass(*args_, **kwargs_) + else: + return CancelPenaltiesType165(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CancelPenalty(self): + return self.CancelPenalty + def set_CancelPenalty(self, CancelPenalty): + self.CancelPenalty = CancelPenalty + def has__content(self): + if ( + self.CancelPenalty is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType165', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltiesType165') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPenaltiesType165': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltiesType165') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltiesType165', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltiesType165'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType165', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CancelPenalty is not None: + namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' + self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CancelPenalty': + obj_ = CancelPenaltyType166.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPenalty = obj_ + obj_.original_tagname_ = 'CancelPenalty' +# end class CancelPenaltiesType165 + + +class CancelPenaltyType166(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PenaltyDescription = PenaltyDescription + self.PenaltyDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPenaltyType166) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPenaltyType166.subclass: + return CancelPenaltyType166.subclass(*args_, **kwargs_) + else: + return CancelPenaltyType166(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PenaltyDescription(self): + return self.PenaltyDescription + def set_PenaltyDescription(self, PenaltyDescription): + self.PenaltyDescription = PenaltyDescription + def has__content(self): + if ( + self.PenaltyDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType166', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType166') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPenaltyType166': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType166') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType166', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType166'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType166', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PenaltyDescription is not None: + namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' + self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PenaltyDescription': + obj_ = PenaltyDescriptionType167.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PenaltyDescription = obj_ + obj_.original_tagname_ = 'PenaltyDescription' +# end class CancelPenaltyType166 + + +class PenaltyDescriptionType167(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Text = Text + self.validate_def_nonempty_string(self.Text) + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PenaltyDescriptionType167) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PenaltyDescriptionType167.subclass: + return PenaltyDescriptionType167.subclass(*args_, **kwargs_) + else: + return PenaltyDescriptionType167(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType167', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType167') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType167': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType167') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType167', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType167'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType167', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Text') + value_ = self.gds_validate_string(value_, node, 'Text') + self.Text = value_ + self.Text_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.Text) +# end class PenaltyDescriptionType167 + + +class HotelReservationIDsType168(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelReservationID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if HotelReservationID is None: + self.HotelReservationID = [] + else: + self.HotelReservationID = HotelReservationID + self.HotelReservationID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationIDsType168) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationIDsType168.subclass: + return HotelReservationIDsType168.subclass(*args_, **kwargs_) + else: + return HotelReservationIDsType168(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelReservationID(self): + return self.HotelReservationID + def set_HotelReservationID(self, HotelReservationID): + self.HotelReservationID = HotelReservationID + def add_HotelReservationID(self, value): + self.HotelReservationID.append(value) + def insert_HotelReservationID_at(self, index, value): + self.HotelReservationID.insert(index, value) + def replace_HotelReservationID_at(self, index, value): + self.HotelReservationID[index] = value + def has__content(self): + if ( + self.HotelReservationID + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType168', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDsType168') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationIDsType168': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDsType168') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDsType168', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDsType168'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType168', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for HotelReservationID_ in self.HotelReservationID: + namespaceprefix_ = self.HotelReservationID_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationID_nsprefix_) else '' + HotelReservationID_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationID', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelReservationID': + obj_ = HotelReservationIDType169.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservationID.append(obj_) + obj_.original_tagname_ = 'HotelReservationID' +# end class HotelReservationIDsType168 + + +class HotelReservationIDType169(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ResID_Type = _cast(int, ResID_Type) + self.ResID_Type_nsprefix_ = None + self.ResID_Value = _cast(None, ResID_Value) + self.ResID_Value_nsprefix_ = None + self.ResID_Source = _cast(None, ResID_Source) + self.ResID_Source_nsprefix_ = None + self.ResID_SourceContext = _cast(None, ResID_SourceContext) + self.ResID_SourceContext_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationIDType169) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationIDType169.subclass: + return HotelReservationIDType169.subclass(*args_, **kwargs_) + else: + return HotelReservationIDType169(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ResID_Type(self): + return self.ResID_Type + def set_ResID_Type(self, ResID_Type): + self.ResID_Type = ResID_Type + def get_ResID_Value(self): + return self.ResID_Value + def set_ResID_Value(self, ResID_Value): + self.ResID_Value = ResID_Value + def get_ResID_Source(self): + return self.ResID_Source + def set_ResID_Source(self, ResID_Source): + self.ResID_Source = ResID_Source + def get_ResID_SourceContext(self): + return self.ResID_SourceContext + def set_ResID_SourceContext(self, ResID_SourceContext): + self.ResID_SourceContext = ResID_SourceContext + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType169', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDType169') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationIDType169': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDType169') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDType169', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDType169'): + if self.ResID_Type is not None and 'ResID_Type' not in already_processed: + already_processed.add('ResID_Type') + outfile.write(' ResID_Type="%s"' % self.gds_format_integer(self.ResID_Type, input_name='ResID_Type')) + if self.ResID_Value is not None and 'ResID_Value' not in already_processed: + already_processed.add('ResID_Value') + outfile.write(' ResID_Value=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Value), input_name='ResID_Value')), )) + if self.ResID_Source is not None and 'ResID_Source' not in already_processed: + already_processed.add('ResID_Source') + outfile.write(' ResID_Source=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Source), input_name='ResID_Source')), )) + if self.ResID_SourceContext is not None and 'ResID_SourceContext' not in already_processed: + already_processed.add('ResID_SourceContext') + outfile.write(' ResID_SourceContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_SourceContext), input_name='ResID_SourceContext')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType169', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ResID_Type', node) + if value is not None and 'ResID_Type' not in already_processed: + already_processed.add('ResID_Type') + self.ResID_Type = self.gds_parse_integer(value, node, 'ResID_Type') + if self.ResID_Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.ResID_Type) # validate type def_int_gt0 + value = find_attr_value_('ResID_Value', node) + if value is not None and 'ResID_Value' not in already_processed: + already_processed.add('ResID_Value') + self.ResID_Value = value + self.validate_StringLength1to64(self.ResID_Value) # validate type StringLength1to64 + value = find_attr_value_('ResID_Source', node) + if value is not None and 'ResID_Source' not in already_processed: + already_processed.add('ResID_Source') + self.ResID_Source = value + self.validate_StringLength1to64(self.ResID_Source) # validate type StringLength1to64 + value = find_attr_value_('ResID_SourceContext', node) + if value is not None and 'ResID_SourceContext' not in already_processed: + already_processed.add('ResID_SourceContext') + self.ResID_SourceContext = value + self.validate_StringLength1to64(self.ResID_SourceContext) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class HotelReservationIDType169 + + +class ProfilesType170(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ProfileInfo = ProfileInfo + self.ProfileInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfilesType170) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfilesType170.subclass: + return ProfilesType170.subclass(*args_, **kwargs_) + else: + return ProfilesType170(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ProfileInfo(self): + return self.ProfileInfo + def set_ProfileInfo(self, ProfileInfo): + self.ProfileInfo = ProfileInfo + def has__content(self): + if ( + self.ProfileInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType170', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType170') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfilesType170': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType170') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType170', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType170'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType170', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ProfileInfo is not None: + namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' + self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ProfileInfo': + obj_ = ProfileInfoType171.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ProfileInfo = obj_ + obj_.original_tagname_ = 'ProfileInfo' +# end class ProfilesType170 + + +class ProfileInfoType171(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Profile=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Profile = Profile + self.Profile_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileInfoType171) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileInfoType171.subclass: + return ProfileInfoType171.subclass(*args_, **kwargs_) + else: + return ProfileInfoType171(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Profile(self): + return self.Profile + def set_Profile(self, Profile): + self.Profile = Profile + def has__content(self): + if ( + self.Profile is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType171', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType171') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileInfoType171': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType171') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType171', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType171'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType171', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Profile is not None: + namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' + self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Profile': + obj_ = ProfileType172.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profile = obj_ + obj_.original_tagname_ = 'Profile' +# end class ProfileInfoType171 + + +class ProfileType172(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ProfileType=None, CompanyInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ProfileType = _cast(None, ProfileType) + self.ProfileType_nsprefix_ = None + self.CompanyInfo = CompanyInfo + self.CompanyInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileType172) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileType172.subclass: + return ProfileType172.subclass(*args_, **kwargs_) + else: + return ProfileType172(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CompanyInfo(self): + return self.CompanyInfo + def set_CompanyInfo(self, CompanyInfo): + self.CompanyInfo = CompanyInfo + def get_ProfileType(self): + return self.ProfileType + def set_ProfileType(self, ProfileType): + self.ProfileType = ProfileType + def validate_ProfileTypeType181(self, value): + # Validate type ProfileTypeType181, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['4'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ProfileTypeType181' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.CompanyInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType172', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType172') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileType172': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType172') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType172', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType172'): + if self.ProfileType is not None and 'ProfileType' not in already_processed: + already_processed.add('ProfileType') + outfile.write(' ProfileType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ProfileType), input_name='ProfileType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType172', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CompanyInfo is not None: + namespaceprefix_ = self.CompanyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyInfo_nsprefix_) else '' + self.CompanyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ProfileType', node) + if value is not None and 'ProfileType' not in already_processed: + already_processed.add('ProfileType') + self.ProfileType = value + self.validate_ProfileTypeType181(self.ProfileType) # validate type ProfileTypeType181 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CompanyInfo': + obj_ = CompanyInfoType173.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CompanyInfo = obj_ + obj_.original_tagname_ = 'CompanyInfo' +# end class ProfileType172 + + +class CompanyInfoType173(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CompanyName = CompanyName + self.CompanyName_nsprefix_ = None + self.AddressInfo = AddressInfo + self.AddressInfo_nsprefix_ = None + self.TelephoneInfo = TelephoneInfo + self.TelephoneInfo_nsprefix_ = None + self.Email = Email + self.validate_def_nonempty_string(self.Email) + self.Email_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CompanyInfoType173) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CompanyInfoType173.subclass: + return CompanyInfoType173.subclass(*args_, **kwargs_) + else: + return CompanyInfoType173(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CompanyName(self): + return self.CompanyName + def set_CompanyName(self, CompanyName): + self.CompanyName = CompanyName + def get_AddressInfo(self): + return self.AddressInfo + def set_AddressInfo(self, AddressInfo): + self.AddressInfo = AddressInfo + def get_TelephoneInfo(self): + return self.TelephoneInfo + def set_TelephoneInfo(self, TelephoneInfo): + self.TelephoneInfo = TelephoneInfo + def get_Email(self): + return self.Email + def set_Email(self, Email): + self.Email = Email + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.CompanyName is not None or + self.AddressInfo is not None or + self.TelephoneInfo is not None or + self.Email is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType173', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyInfoType173') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CompanyInfoType173': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyInfoType173') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CompanyInfoType173', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyInfoType173'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType173', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CompanyName is not None: + namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' + self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) + if self.AddressInfo is not None: + namespaceprefix_ = self.AddressInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressInfo_nsprefix_) else '' + self.AddressInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AddressInfo', pretty_print=pretty_print) + if self.TelephoneInfo is not None: + namespaceprefix_ = self.TelephoneInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.TelephoneInfo_nsprefix_) else '' + self.TelephoneInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TelephoneInfo', pretty_print=pretty_print) + if self.Email is not None: + namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sEmail>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Email), input_name='Email')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CompanyName': + obj_ = CompanyNameType174.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CompanyName = obj_ + obj_.original_tagname_ = 'CompanyName' + elif nodeName_ == 'AddressInfo': + obj_ = AddressInfoType175.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AddressInfo = obj_ + obj_.original_tagname_ = 'AddressInfo' + elif nodeName_ == 'TelephoneInfo': + obj_ = TelephoneInfoType178.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TelephoneInfo = obj_ + obj_.original_tagname_ = 'TelephoneInfo' + elif nodeName_ == 'Email': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Email') + value_ = self.gds_validate_string(value_, node, 'Email') + self.Email = value_ + self.Email_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.Email) +# end class CompanyInfoType173 + + +class CompanyNameType174(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, CodeContext=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.CodeContext = _cast(None, CodeContext) + self.CodeContext_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CompanyNameType174) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CompanyNameType174.subclass: + return CompanyNameType174.subclass(*args_, **kwargs_) + else: + return CompanyNameType174(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_CodeContext(self): + return self.CodeContext + def set_CodeContext(self, CodeContext): + self.CodeContext = CodeContext + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType174', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType174') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CompanyNameType174': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType174') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType174'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.CodeContext is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType174', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string + value = find_attr_value_('CodeContext', node) + if value is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + self.CodeContext = value + self.validate_def_nonempty_string(self.CodeContext) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CompanyNameType174 + + +class AddressInfoType175(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AddressLine = AddressLine + self.validate_StringLength1to255(self.AddressLine) + self.AddressLine_nsprefix_ = None + self.CityName = CityName + self.validate_StringLength1to64(self.CityName) + self.CityName_nsprefix_ = None + self.PostalCode = PostalCode + self.validate_StringLength1to16(self.PostalCode) + self.PostalCode_nsprefix_ = None + self.CountryName = CountryName + self.CountryName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressInfoType175) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressInfoType175.subclass: + return AddressInfoType175.subclass(*args_, **kwargs_) + else: + return AddressInfoType175(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AddressLine(self): + return self.AddressLine + def set_AddressLine(self, AddressLine): + self.AddressLine = AddressLine + def get_CityName(self): + return self.CityName + def set_CityName(self, CityName): + self.CityName = CityName + def get_PostalCode(self): + return self.PostalCode + def set_PostalCode(self, PostalCode): + self.PostalCode = PostalCode + def get_CountryName(self): + return self.CountryName + def set_CountryName(self, CountryName): + self.CountryName = CountryName + def validate_StringLength1to255(self, value): + result = True + # Validate type StringLength1to255, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 255: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.AddressLine is not None or + self.CityName is not None or + self.PostalCode is not None or + self.CountryName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType175', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressInfoType175') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressInfoType175': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressInfoType175') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressInfoType175', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressInfoType175'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType175', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AddressLine is not None: + namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) + if self.CityName is not None: + namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) + if self.PostalCode is not None: + namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) + if self.CountryName is not None: + namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' + self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AddressLine': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine') + value_ = self.gds_validate_string(value_, node, 'AddressLine') + self.AddressLine = value_ + self.AddressLine_nsprefix_ = child_.prefix + # validate type StringLength1to255 + self.validate_StringLength1to255(self.AddressLine) + elif nodeName_ == 'CityName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CityName') + value_ = self.gds_validate_string(value_, node, 'CityName') + self.CityName = value_ + self.CityName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CityName) + elif nodeName_ == 'PostalCode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PostalCode') + value_ = self.gds_validate_string(value_, node, 'PostalCode') + self.PostalCode = value_ + self.PostalCode_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.PostalCode) + elif nodeName_ == 'CountryName': + obj_ = CountryNameType176.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CountryName = obj_ + obj_.original_tagname_ = 'CountryName' +# end class AddressInfoType175 + + +class CountryNameType176(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CountryNameType176) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CountryNameType176.subclass: + return CountryNameType176.subclass(*args_, **kwargs_) + else: + return CountryNameType176(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def validate_CodeType177(self, value): + # Validate type CodeType177, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CodeType177_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType177_patterns_, )) + validate_CodeType177_patterns_ = [['^([A-Z][A-Z])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType176', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType176') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CountryNameType176': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType176') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType176', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType176'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType176', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType177(self.Code) # validate type CodeType177 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CountryNameType176 + + +class TelephoneInfoType178(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PhoneTechType = _cast(None, PhoneTechType) + self.PhoneTechType_nsprefix_ = None + self.PhoneNumber = _cast(None, PhoneNumber) + self.PhoneNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TelephoneInfoType178) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TelephoneInfoType178.subclass: + return TelephoneInfoType178.subclass(*args_, **kwargs_) + else: + return TelephoneInfoType178(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PhoneTechType(self): + return self.PhoneTechType + def set_PhoneTechType(self, PhoneTechType): + self.PhoneTechType = PhoneTechType + def get_PhoneNumber(self): + return self.PhoneNumber + def set_PhoneNumber(self, PhoneNumber): + self.PhoneNumber = PhoneNumber + def validate_PhoneTechTypeType179(self, value): + # Validate type PhoneTechTypeType179, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneTechTypeType179_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType179_patterns_, )) + validate_PhoneTechTypeType179_patterns_ = [['^((1|3|5))$']] + def validate_PhoneNumberType180(self, value): + # Validate type PhoneNumberType180, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneNumberType180_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType180_patterns_, )) + validate_PhoneNumberType180_patterns_ = [['^(\\+?[0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType178', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneInfoType178') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TelephoneInfoType178': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneInfoType178') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneInfoType178', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneInfoType178'): + if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) + if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType178', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('PhoneTechType', node) + if value is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + self.PhoneTechType = value + self.validate_PhoneTechTypeType179(self.PhoneTechType) # validate type PhoneTechTypeType179 + value = find_attr_value_('PhoneNumber', node) + if value is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + self.PhoneNumber = value + self.validate_PhoneNumberType180(self.PhoneNumber) # validate type PhoneNumberType180 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TelephoneInfoType178 + + +class BasicPropertyInfoType182(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BasicPropertyInfoType182) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BasicPropertyInfoType182.subclass: + return BasicPropertyInfoType182.subclass(*args_, **kwargs_) + else: + return BasicPropertyInfoType182(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType182', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BasicPropertyInfoType182') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BasicPropertyInfoType182': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BasicPropertyInfoType182') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BasicPropertyInfoType182', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BasicPropertyInfoType182'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType182', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BasicPropertyInfoType182 + + +class WarningsType184(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType184) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType184.subclass: + return WarningsType184.subclass(*args_, **kwargs_) + else: + return WarningsType184(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType184', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType184') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType184': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType184') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType184', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType184'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType184', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType185.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType184 + + +class WarningType185(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType185) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType185.subclass: + return WarningType185.subclass(*args_, **kwargs_) + else: + return WarningType185(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType185', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType185') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType185': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType185') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType185'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType185', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType185 + + +class NotifDetailsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelNotifReport=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelNotifReport = HotelNotifReport + self.HotelNotifReport_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, NotifDetailsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if NotifDetailsType.subclass: + return NotifDetailsType.subclass(*args_, **kwargs_) + else: + return NotifDetailsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelNotifReport(self): + return self.HotelNotifReport + def set_HotelNotifReport(self, HotelNotifReport): + self.HotelNotifReport = HotelNotifReport + def has__content(self): + if ( + self.HotelNotifReport is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='NotifDetailsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('NotifDetailsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'NotifDetailsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NotifDetailsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NotifDetailsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NotifDetailsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='NotifDetailsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelNotifReport is not None: + namespaceprefix_ = self.HotelNotifReport_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelNotifReport_nsprefix_) else '' + self.HotelNotifReport.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelNotifReport', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelNotifReport': + obj_ = HotelNotifReportType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelNotifReport = obj_ + obj_.original_tagname_ = 'HotelNotifReport' +# end class NotifDetailsType + + +class HotelNotifReportType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelReservations=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelReservations = HotelReservations + self.HotelReservations_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelNotifReportType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelNotifReportType.subclass: + return HotelNotifReportType.subclass(*args_, **kwargs_) + else: + return HotelNotifReportType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelReservations(self): + return self.HotelReservations + def set_HotelReservations(self, HotelReservations): + self.HotelReservations = HotelReservations + def has__content(self): + if ( + self.HotelReservations is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelNotifReportType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelNotifReportType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelNotifReportType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelNotifReportType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelNotifReportType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelNotifReportType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelNotifReportType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelReservations is not None: + namespaceprefix_ = self.HotelReservations_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservations_nsprefix_) else '' + self.HotelReservations.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservations', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelReservations': + obj_ = HotelReservationsType186.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservations = obj_ + obj_.original_tagname_ = 'HotelReservations' +# end class HotelNotifReportType + + +class HotelReservationsType186(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelReservation=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if HotelReservation is None: + self.HotelReservation = [] + else: + self.HotelReservation = HotelReservation + self.HotelReservation_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationsType186) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationsType186.subclass: + return HotelReservationsType186.subclass(*args_, **kwargs_) + else: + return HotelReservationsType186(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelReservation(self): + return self.HotelReservation + def set_HotelReservation(self, HotelReservation): + self.HotelReservation = HotelReservation + def add_HotelReservation(self, value): + self.HotelReservation.append(value) + def insert_HotelReservation_at(self, index, value): + self.HotelReservation.insert(index, value) + def replace_HotelReservation_at(self, index, value): + self.HotelReservation[index] = value + def has__content(self): + if ( + self.HotelReservation + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType186', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationsType186') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationsType186': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationsType186') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationsType186', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationsType186'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType186', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for HotelReservation_ in self.HotelReservation: + namespaceprefix_ = self.HotelReservation_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservation_nsprefix_) else '' + HotelReservation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservation', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelReservation': + obj_ = HotelReservationType187.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservation.append(obj_) + obj_.original_tagname_ = 'HotelReservation' +# end class HotelReservationsType186 + + +class HotelReservationType187(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, UniqueID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.UniqueID = UniqueID + self.UniqueID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationType187) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationType187.subclass: + return HotelReservationType187.subclass(*args_, **kwargs_) + else: + return HotelReservationType187(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_UniqueID(self): + return self.UniqueID + def set_UniqueID(self, UniqueID): + self.UniqueID = UniqueID + def has__content(self): + if ( + self.UniqueID is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType187', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType187') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationType187': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType187') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType187', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType187'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType187', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.UniqueID is not None: + namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' + self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'UniqueID': + obj_ = UniqueIDType188.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.UniqueID = obj_ + obj_.original_tagname_ = 'UniqueID' +# end class HotelReservationType187 + + +class UniqueIDType188(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, UniqueIDType188) + if subclass is not None: + return subclass(*args_, **kwargs_) + if UniqueIDType188.subclass: + return UniqueIDType188.subclass(*args_, **kwargs_) + else: + return UniqueIDType188(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def validate_TypeType189(self, value): + # Validate type TypeType189, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['14', '15'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType189' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType188', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType188') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'UniqueIDType188': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType188') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType188', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType188'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType188', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType189(self.Type) # validate type TypeType189 + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class UniqueIDType188 + + +class ErrorsType190(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType190) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType190.subclass: + return ErrorsType190.subclass(*args_, **kwargs_) + else: + return ErrorsType190(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType190', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType190') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType190': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType190') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType190', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType190'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType190', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType191.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType190 + + +class ErrorType191(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType191) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType191.subclass: + return ErrorType191.subclass(*args_, **kwargs_) + else: + return ErrorType191(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType192(self, value): + # Validate type TypeType192, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType192' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType191', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType191') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType191': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType191') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType191'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType191', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType192(self.Type) # validate type TypeType192 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType191 + + +class WarningsType193(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType193) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType193.subclass: + return WarningsType193.subclass(*args_, **kwargs_) + else: + return WarningsType193(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType193', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType193') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType193': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType193') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType193', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType193'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType193', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType194.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType193 + + +class WarningType194(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType194) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType194.subclass: + return WarningType194.subclass(*args_, **kwargs_) + else: + return WarningType194(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType194', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType194') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType194': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType194') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType194'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType194', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType194 + + +class HotelDescriptiveContentsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelDescriptiveContent=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelDescriptiveContent = HotelDescriptiveContent + self.HotelDescriptiveContent_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelDescriptiveContentsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelDescriptiveContentsType.subclass: + return HotelDescriptiveContentsType.subclass(*args_, **kwargs_) + else: + return HotelDescriptiveContentsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelDescriptiveContent(self): + return self.HotelDescriptiveContent + def set_HotelDescriptiveContent(self, HotelDescriptiveContent): + self.HotelDescriptiveContent = HotelDescriptiveContent + def has__content(self): + if ( + self.HotelDescriptiveContent is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelDescriptiveContent is not None: + namespaceprefix_ = self.HotelDescriptiveContent_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContent_nsprefix_) else '' + self.HotelDescriptiveContent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContent', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelDescriptiveContent': + obj_ = HotelDescriptiveContentType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelDescriptiveContent = obj_ + obj_.original_tagname_ = 'HotelDescriptiveContent' +# end class HotelDescriptiveContentsType + + +class HotelDescriptiveContentType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCityCode = _cast(None, HotelCityCode) + self.HotelCityCode_nsprefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + self.AreaID = _cast(None, AreaID) + self.AreaID_nsprefix_ = None + self.HotelInfo = HotelInfo + self.HotelInfo_nsprefix_ = None + self.FacilityInfo = FacilityInfo + self.FacilityInfo_nsprefix_ = None + self.Policies = Policies + self.Policies_nsprefix_ = None + self.AffiliationInfo = AffiliationInfo + self.AffiliationInfo_nsprefix_ = None + self.ContactInfos = ContactInfos + self.ContactInfos_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelDescriptiveContentType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelDescriptiveContentType.subclass: + return HotelDescriptiveContentType.subclass(*args_, **kwargs_) + else: + return HotelDescriptiveContentType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelInfo(self): + return self.HotelInfo + def set_HotelInfo(self, HotelInfo): + self.HotelInfo = HotelInfo + def get_FacilityInfo(self): + return self.FacilityInfo + def set_FacilityInfo(self, FacilityInfo): + self.FacilityInfo = FacilityInfo + def get_Policies(self): + return self.Policies + def set_Policies(self, Policies): + self.Policies = Policies + def get_AffiliationInfo(self): + return self.AffiliationInfo + def set_AffiliationInfo(self, AffiliationInfo): + self.AffiliationInfo = AffiliationInfo + def get_ContactInfos(self): + return self.ContactInfos + def set_ContactInfos(self, ContactInfos): + self.ContactInfos = ContactInfos + def get_HotelCityCode(self): + return self.HotelCityCode + def set_HotelCityCode(self, HotelCityCode): + self.HotelCityCode = HotelCityCode + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def get_AreaID(self): + return self.AreaID + def set_AreaID(self, AreaID): + self.AreaID = AreaID + def validate_StringLength1to8(self, value): + # Validate type StringLength1to8, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_NumericStringLength1to8(self, value): + # Validate type NumericStringLength1to8, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to8_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to8_patterns_, )) + validate_NumericStringLength1to8_patterns_ = [['^([0-9]{1,8})$']] + def has__content(self): + if ( + self.HotelInfo is not None or + self.FacilityInfo is not None or + self.Policies is not None or + self.AffiliationInfo is not None or + self.ContactInfos is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentType'): + if self.HotelCityCode is not None and 'HotelCityCode' not in already_processed: + already_processed.add('HotelCityCode') + outfile.write(' HotelCityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCityCode), input_name='HotelCityCode')), )) + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + if self.AreaID is not None and 'AreaID' not in already_processed: + already_processed.add('AreaID') + outfile.write(' AreaID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AreaID), input_name='AreaID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelInfo is not None: + namespaceprefix_ = self.HotelInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelInfo_nsprefix_) else '' + self.HotelInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelInfo', pretty_print=pretty_print) + if self.FacilityInfo is not None: + namespaceprefix_ = self.FacilityInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.FacilityInfo_nsprefix_) else '' + self.FacilityInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FacilityInfo', pretty_print=pretty_print) + if self.Policies is not None: + namespaceprefix_ = self.Policies_nsprefix_ + ':' if (UseCapturedNS_ and self.Policies_nsprefix_) else '' + self.Policies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policies', pretty_print=pretty_print) + if self.AffiliationInfo is not None: + namespaceprefix_ = self.AffiliationInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AffiliationInfo_nsprefix_) else '' + self.AffiliationInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AffiliationInfo', pretty_print=pretty_print) + if self.ContactInfos is not None: + namespaceprefix_ = self.ContactInfos_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfos_nsprefix_) else '' + self.ContactInfos.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfos', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCityCode', node) + if value is not None and 'HotelCityCode' not in already_processed: + already_processed.add('HotelCityCode') + self.HotelCityCode = value + self.validate_StringLength1to8(self.HotelCityCode) # validate type StringLength1to8 + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + value = find_attr_value_('AreaID', node) + if value is not None and 'AreaID' not in already_processed: + already_processed.add('AreaID') + self.AreaID = value + self.validate_NumericStringLength1to8(self.AreaID) # validate type NumericStringLength1to8 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelInfo': + obj_ = HotelInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelInfo = obj_ + obj_.original_tagname_ = 'HotelInfo' + elif nodeName_ == 'FacilityInfo': + obj_ = FacilityInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FacilityInfo = obj_ + obj_.original_tagname_ = 'FacilityInfo' + elif nodeName_ == 'Policies': + obj_ = PoliciesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Policies = obj_ + obj_.original_tagname_ = 'Policies' + elif nodeName_ == 'AffiliationInfo': + obj_ = AffiliationInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AffiliationInfo = obj_ + obj_.original_tagname_ = 'AffiliationInfo' + elif nodeName_ == 'ContactInfos': + obj_ = ContactInfosType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ContactInfos = obj_ + obj_.original_tagname_ = 'ContactInfos' +# end class HotelDescriptiveContentType + + +class HotelInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelStatusCode = _cast(int, HotelStatusCode) + self.HotelStatusCode_nsprefix_ = None + self.CategoryCodes = CategoryCodes + self.CategoryCodes_nsprefix_ = None + self.Descriptions = Descriptions + self.Descriptions_nsprefix_ = None + self.Position = Position + self.Position_nsprefix_ = None + self.Services = Services + self.Services_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelInfoType.subclass: + return HotelInfoType.subclass(*args_, **kwargs_) + else: + return HotelInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CategoryCodes(self): + return self.CategoryCodes + def set_CategoryCodes(self, CategoryCodes): + self.CategoryCodes = CategoryCodes + def get_Descriptions(self): + return self.Descriptions + def set_Descriptions(self, Descriptions): + self.Descriptions = Descriptions + def get_Position(self): + return self.Position + def set_Position(self, Position): + self.Position = Position + def get_Services(self): + return self.Services + def set_Services(self, Services): + self.Services = Services + def get_HotelStatusCode(self): + return self.HotelStatusCode + def set_HotelStatusCode(self, HotelStatusCode): + self.HotelStatusCode = HotelStatusCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.CategoryCodes is not None or + self.Descriptions is not None or + self.Position is not None or + self.Services is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelInfoType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelInfoType'): + if self.HotelStatusCode is not None and 'HotelStatusCode' not in already_processed: + already_processed.add('HotelStatusCode') + outfile.write(' HotelStatusCode="%s"' % self.gds_format_integer(self.HotelStatusCode, input_name='HotelStatusCode')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CategoryCodes is not None: + namespaceprefix_ = self.CategoryCodes_nsprefix_ + ':' if (UseCapturedNS_ and self.CategoryCodes_nsprefix_) else '' + self.CategoryCodes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CategoryCodes', pretty_print=pretty_print) + if self.Descriptions is not None: + namespaceprefix_ = self.Descriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.Descriptions_nsprefix_) else '' + self.Descriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Descriptions', pretty_print=pretty_print) + if self.Position is not None: + namespaceprefix_ = self.Position_nsprefix_ + ':' if (UseCapturedNS_ and self.Position_nsprefix_) else '' + self.Position.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Position', pretty_print=pretty_print) + if self.Services is not None: + namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' + self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelStatusCode', node) + if value is not None and 'HotelStatusCode' not in already_processed: + already_processed.add('HotelStatusCode') + self.HotelStatusCode = self.gds_parse_integer(value, node, 'HotelStatusCode') + if self.HotelStatusCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.HotelStatusCode) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CategoryCodes': + obj_ = CategoryCodesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CategoryCodes = obj_ + obj_.original_tagname_ = 'CategoryCodes' + elif nodeName_ == 'Descriptions': + obj_ = DescriptionsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Descriptions = obj_ + obj_.original_tagname_ = 'Descriptions' + elif nodeName_ == 'Position': + obj_ = PositionType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Position = obj_ + obj_.original_tagname_ = 'Position' + elif nodeName_ == 'Services': + obj_ = ServicesType206.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Services = obj_ + obj_.original_tagname_ = 'Services' +# end class HotelInfoType + + +class CategoryCodesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCategory=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCategory = HotelCategory + self.HotelCategory_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CategoryCodesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CategoryCodesType.subclass: + return CategoryCodesType.subclass(*args_, **kwargs_) + else: + return CategoryCodesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelCategory(self): + return self.HotelCategory + def set_HotelCategory(self, HotelCategory): + self.HotelCategory = HotelCategory + def has__content(self): + if ( + self.HotelCategory is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CategoryCodesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CategoryCodesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CategoryCodesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CategoryCodesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CategoryCodesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelCategory is not None: + namespaceprefix_ = self.HotelCategory_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelCategory_nsprefix_) else '' + self.HotelCategory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelCategory', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelCategory': + obj_ = HotelCategoryType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelCategory = obj_ + obj_.original_tagname_ = 'HotelCategory' +# end class CategoryCodesType + + +class HotelCategoryType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, CodeDetail=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.CodeDetail = _cast(None, CodeDetail) + self.CodeDetail_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelCategoryType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelCategoryType.subclass: + return HotelCategoryType.subclass(*args_, **kwargs_) + else: + return HotelCategoryType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_CodeDetail(self): + return self.CodeDetail + def set_CodeDetail(self, CodeDetail): + self.CodeDetail = CodeDetail + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelCategoryType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelCategoryType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelCategoryType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelCategoryType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelCategoryType'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.CodeDetail is not None and 'CodeDetail' not in already_processed: + already_processed.add('CodeDetail') + outfile.write(' CodeDetail=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeDetail), input_name='CodeDetail')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string + value = find_attr_value_('CodeDetail', node) + if value is not None and 'CodeDetail' not in already_processed: + already_processed.add('CodeDetail') + self.CodeDetail = value + self.validate_StringLength1to128(self.CodeDetail) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class HotelCategoryType + + +class DescriptionsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MultimediaDescriptions = MultimediaDescriptions + self.MultimediaDescriptions_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionsType.subclass: + return DescriptionsType.subclass(*args_, **kwargs_) + else: + return DescriptionsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MultimediaDescriptions(self): + return self.MultimediaDescriptions + def set_MultimediaDescriptions(self, MultimediaDescriptions): + self.MultimediaDescriptions = MultimediaDescriptions + def has__content(self): + if ( + self.MultimediaDescriptions is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.MultimediaDescriptions is not None: + namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' + self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'MultimediaDescriptions': + obj_ = MultimediaDescriptionsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescriptions = obj_ + obj_.original_tagname_ = 'MultimediaDescriptions' +# end class DescriptionsType + + +class MultimediaDescriptionsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if MultimediaDescription is None: + self.MultimediaDescription = [] + else: + self.MultimediaDescription = MultimediaDescription + self.MultimediaDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionsType.subclass: + return MultimediaDescriptionsType.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MultimediaDescription(self): + return self.MultimediaDescription + def set_MultimediaDescription(self, MultimediaDescription): + self.MultimediaDescription = MultimediaDescription + def add_MultimediaDescription(self, value): + self.MultimediaDescription.append(value) + def insert_MultimediaDescription_at(self, index, value): + self.MultimediaDescription.insert(index, value) + def replace_MultimediaDescription_at(self, index, value): + self.MultimediaDescription[index] = value + def has__content(self): + if ( + self.MultimediaDescription + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for MultimediaDescription_ in self.MultimediaDescription: + namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' + MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'MultimediaDescription': + obj_ = MultimediaDescriptionType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescription.append(obj_) + obj_.original_tagname_ = 'MultimediaDescription' +# end class MultimediaDescriptionsType + + +class MultimediaDescriptionType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.InfoCode = _cast(int, InfoCode) + self.InfoCode_nsprefix_ = None + self.TextItems = TextItems + self.TextItems_nsprefix_ = None + self.ImageItems = ImageItems + self.ImageItems_nsprefix_ = None + self.VideoItems = VideoItems + self.VideoItems_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionType.subclass: + return MultimediaDescriptionType.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItems(self): + return self.TextItems + def set_TextItems(self, TextItems): + self.TextItems = TextItems + def get_ImageItems(self): + return self.ImageItems + def set_ImageItems(self, ImageItems): + self.ImageItems = ImageItems + def get_VideoItems(self): + return self.VideoItems + def set_VideoItems(self, VideoItems): + self.VideoItems = VideoItems + def get_InfoCode(self): + return self.InfoCode + def set_InfoCode(self, InfoCode): + self.InfoCode = InfoCode + def validate_InfoCodeType(self, value): + # Validate type InfoCodeType, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 17, 23, 24] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_InfoCodeType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType_patterns_, )) + validate_InfoCodeType_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.TextItems is not None or + self.ImageItems is not None or + self.VideoItems is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType'): + if self.InfoCode is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TextItems is not None: + namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' + self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) + if self.ImageItems is not None: + namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' + self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) + if self.VideoItems is not None: + namespaceprefix_ = self.VideoItems_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItems_nsprefix_) else '' + self.VideoItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItems', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('InfoCode', node) + if value is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') + if self.InfoCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_InfoCodeType(self.InfoCode) # validate type InfoCodeType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItems': + obj_ = TextItemsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItems = obj_ + obj_.original_tagname_ = 'TextItems' + elif nodeName_ == 'ImageItems': + obj_ = ImageItemsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItems = obj_ + obj_.original_tagname_ = 'ImageItems' + elif nodeName_ == 'VideoItems': + obj_ = VideoItemsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VideoItems = obj_ + obj_.original_tagname_ = 'VideoItems' +# end class MultimediaDescriptionType + + +class TextItemsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if TextItem is None: + self.TextItem = [] + else: + self.TextItem = TextItem + self.TextItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemsType.subclass: + return TextItemsType.subclass(*args_, **kwargs_) + else: + return TextItemsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItem(self): + return self.TextItem + def set_TextItem(self, TextItem): + self.TextItem = TextItem + def add_TextItem(self, value): + self.TextItem.append(value) + def insert_TextItem_at(self, index, value): + self.TextItem.insert(index, value) + def replace_TextItem_at(self, index, value): + self.TextItem[index] = value + def has__content(self): + if ( + self.TextItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for TextItem_ in self.TextItem: + namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' + TextItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItem': + obj_ = TextItemType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItem.append(obj_) + obj_.original_tagname_ = 'TextItem' +# end class TextItemsType + + +class TextItemType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.SourceID = _cast(None, SourceID) + self.SourceID_nsprefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemType.subclass: + return TextItemType.subclass(*args_, **kwargs_) + else: + return TextItemType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_SourceID(self): + return self.SourceID + def set_SourceID(self, SourceID): + self.SourceID = SourceID + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType'): + if self.SourceID is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('SourceID', node) + if value is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + self.SourceID = value + self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class TextItemType + + +class DescriptionType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType.subclass: + return DescriptionType.subclass(*args_, **kwargs_) + else: + return DescriptionType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType195(self, value): + # Validate type TextFormatType195, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType195' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType196(self, value): + # Validate type LanguageType196, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType196_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType196_patterns_, )) + validate_LanguageType196_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType195(self.TextFormat) # validate type TextFormatType195 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType196(self.Language) # validate type LanguageType196 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType + + +class ImageItemsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if ImageItem is None: + self.ImageItem = [] + else: + self.ImageItem = ImageItem + self.ImageItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemsType.subclass: + return ImageItemsType.subclass(*args_, **kwargs_) + else: + return ImageItemsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageItem(self): + return self.ImageItem + def set_ImageItem(self, ImageItem): + self.ImageItem = ImageItem + def add_ImageItem(self, value): + self.ImageItem.append(value) + def insert_ImageItem_at(self, index, value): + self.ImageItem.insert(index, value) + def replace_ImageItem_at(self, index, value): + self.ImageItem[index] = value + def has__content(self): + if ( + self.ImageItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ImageItem_ in self.ImageItem: + namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' + ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageItem': + obj_ = ImageItemType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItem.append(obj_) + obj_.original_tagname_ = 'ImageItem' +# end class ImageItemsType + + +class ImageItemType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Category = _cast(int, Category) + self.Category_nsprefix_ = None + self.ImageFormat = ImageFormat + self.ImageFormat_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemType.subclass: + return ImageItemType.subclass(*args_, **kwargs_) + else: + return ImageItemType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageFormat(self): + return self.ImageFormat + def set_ImageFormat(self, ImageFormat): + self.ImageFormat = ImageFormat + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Category(self): + return self.Category + def set_Category(self, Category): + self.Category = Category + def validate_CategoryType200(self, value): + # Validate type CategoryType200, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 2, 4, 12, 15, 22] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType200' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_CategoryType200_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType200_patterns_, )) + validate_CategoryType200_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.ImageFormat is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType'): + if self.Category is not None and 'Category' not in already_processed: + already_processed.add('Category') + outfile.write(' Category=%s' % (quote_attrib(self.Category), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ImageFormat is not None: + namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' + self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Category', node) + if value is not None and 'Category' not in already_processed: + already_processed.add('Category') + self.Category = self.gds_parse_integer(value, node, 'Category') + if self.Category <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_CategoryType200(self.Category) # validate type CategoryType200 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageFormat': + obj_ = ImageFormatType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageFormat = obj_ + obj_.original_tagname_ = 'ImageFormat' + elif nodeName_ == 'Description': + obj_ = DescriptionType197.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class ImageItemType + + +class ImageFormatType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + self.SourceID = _cast(None, SourceID) + self.SourceID_nsprefix_ = None + self.Title = _cast(None, Title) + self.Title_nsprefix_ = None + self.ApplicableStart = _cast(None, ApplicableStart) + self.ApplicableStart_nsprefix_ = None + self.ApplicableEnd = _cast(None, ApplicableEnd) + self.ApplicableEnd_nsprefix_ = None + self.URL = URL + self.validate_def_url_string(self.URL) + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageFormatType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageFormatType.subclass: + return ImageFormatType.subclass(*args_, **kwargs_) + else: + return ImageFormatType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def get_SourceID(self): + return self.SourceID + def set_SourceID(self, SourceID): + self.SourceID = SourceID + def get_Title(self): + return self.Title + def set_Title(self, Title): + self.Title = Title + def get_ApplicableStart(self): + return self.ApplicableStart + def set_ApplicableStart(self, ApplicableStart): + self.ApplicableStart = ApplicableStart + def get_ApplicableEnd(self): + return self.ApplicableEnd + def set_ApplicableEnd(self, ApplicableEnd): + self.ApplicableEnd = ApplicableEnd + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ApplicableStartType(self, value): + # Validate type ApplicableStartType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ApplicableStartType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType_patterns_, )) + validate_ApplicableStartType_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] + def validate_ApplicableEndType(self, value): + # Validate type ApplicableEndType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ApplicableEndType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableEndType_patterns_, )) + validate_ApplicableEndType_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] + def has__content(self): + if ( + self.URL is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageFormatType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType'): + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + if self.SourceID is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) + if self.Title is not None and 'Title' not in already_processed: + already_processed.add('Title') + outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) + if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) + if self.ApplicableEnd is not None and 'ApplicableEnd' not in already_processed: + already_processed.add('ApplicableEnd') + outfile.write(' ApplicableEnd=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableEnd), input_name='ApplicableEnd')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.URL is not None: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + value = find_attr_value_('SourceID', node) + if value is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + self.SourceID = value + self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 + value = find_attr_value_('Title', node) + if value is not None and 'Title' not in already_processed: + already_processed.add('Title') + self.Title = value + self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 + value = find_attr_value_('ApplicableStart', node) + if value is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + self.ApplicableStart = value + self.validate_ApplicableStartType(self.ApplicableStart) # validate type ApplicableStartType + value = find_attr_value_('ApplicableEnd', node) + if value is not None and 'ApplicableEnd' not in already_processed: + already_processed.add('ApplicableEnd') + self.ApplicableEnd = value + self.validate_ApplicableEndType(self.ApplicableEnd) # validate type ApplicableEndType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL = value_ + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL) +# end class ImageFormatType + + +class DescriptionType197(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType197) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType197.subclass: + return DescriptionType197.subclass(*args_, **kwargs_) + else: + return DescriptionType197(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType198(self, value): + # Validate type TextFormatType198, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType198' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType199(self, value): + # Validate type LanguageType199, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType199_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType199_patterns_, )) + validate_LanguageType199_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType197', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType197') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType197': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType197') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType197'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType197', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType198(self.TextFormat) # validate type TextFormatType198 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType199(self.Language) # validate type LanguageType199 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType197 + + +class VideoItemsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, VideoItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if VideoItem is None: + self.VideoItem = [] + else: + self.VideoItem = VideoItem + self.VideoItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VideoItemsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VideoItemsType.subclass: + return VideoItemsType.subclass(*args_, **kwargs_) + else: + return VideoItemsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_VideoItem(self): + return self.VideoItem + def set_VideoItem(self, VideoItem): + self.VideoItem = VideoItem + def add_VideoItem(self, value): + self.VideoItem.append(value) + def insert_VideoItem_at(self, index, value): + self.VideoItem.insert(index, value) + def replace_VideoItem_at(self, index, value): + self.VideoItem[index] = value + def has__content(self): + if ( + self.VideoItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VideoItemsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for VideoItem_ in self.VideoItem: + namespaceprefix_ = self.VideoItem_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItem_nsprefix_) else '' + VideoItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'VideoItem': + obj_ = VideoItemType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VideoItem.append(obj_) + obj_.original_tagname_ = 'VideoItem' +# end class VideoItemsType + + +class VideoItemType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Category=None, VideoFormat=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Category = _cast(int, Category) + self.Category_nsprefix_ = None + self.VideoFormat = VideoFormat + self.VideoFormat_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VideoItemType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VideoItemType.subclass: + return VideoItemType.subclass(*args_, **kwargs_) + else: + return VideoItemType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_VideoFormat(self): + return self.VideoFormat + def set_VideoFormat(self, VideoFormat): + self.VideoFormat = VideoFormat + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Category(self): + return self.Category + def set_Category(self, Category): + self.Category = Category + def validate_CategoryType205(self, value): + # Validate type CategoryType205, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 2, 4, 12, 20, 22] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType205' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_CategoryType205_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType205_patterns_, )) + validate_CategoryType205_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.VideoFormat is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VideoItemType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemType'): + if self.Category is not None and 'Category' not in already_processed: + already_processed.add('Category') + outfile.write(' Category=%s' % (quote_attrib(self.Category), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.VideoFormat is not None: + namespaceprefix_ = self.VideoFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoFormat_nsprefix_) else '' + self.VideoFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoFormat', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Category', node) + if value is not None and 'Category' not in already_processed: + already_processed.add('Category') + self.Category = self.gds_parse_integer(value, node, 'Category') + if self.Category <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_CategoryType205(self.Category) # validate type CategoryType205 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'VideoFormat': + obj_ = VideoFormatType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VideoFormat = obj_ + obj_.original_tagname_ = 'VideoFormat' + elif nodeName_ == 'Description': + obj_ = DescriptionType202.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class VideoItemType + + +class VideoFormatType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + self.SourceID = _cast(None, SourceID) + self.SourceID_nsprefix_ = None + self.Title = _cast(None, Title) + self.Title_nsprefix_ = None + self.ApplicableStart = _cast(None, ApplicableStart) + self.ApplicableStart_nsprefix_ = None + self.URL = URL + self.validate_def_url_string(self.URL) + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VideoFormatType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VideoFormatType.subclass: + return VideoFormatType.subclass(*args_, **kwargs_) + else: + return VideoFormatType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def get_SourceID(self): + return self.SourceID + def set_SourceID(self, SourceID): + self.SourceID = SourceID + def get_Title(self): + return self.Title + def set_Title(self, Title): + self.Title = Title + def get_ApplicableStart(self): + return self.ApplicableStart + def set_ApplicableStart(self, ApplicableStart): + self.ApplicableStart = ApplicableStart + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ApplicableStartType201(self, value): + # Validate type ApplicableStartType201, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ApplicableStartType201_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType201_patterns_, )) + validate_ApplicableStartType201_patterns_ = [['^([0-1][0-9]-[0-3][0-9])$']] + def has__content(self): + if ( + self.URL is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoFormatType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VideoFormatType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoFormatType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoFormatType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoFormatType'): + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + if self.SourceID is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) + if self.Title is not None and 'Title' not in already_processed: + already_processed.add('Title') + outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) + if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.URL is not None: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + value = find_attr_value_('SourceID', node) + if value is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + self.SourceID = value + self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 + value = find_attr_value_('Title', node) + if value is not None and 'Title' not in already_processed: + already_processed.add('Title') + self.Title = value + self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 + value = find_attr_value_('ApplicableStart', node) + if value is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + self.ApplicableStart = value + self.validate_ApplicableStartType201(self.ApplicableStart) # validate type ApplicableStartType201 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL = value_ + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL) +# end class VideoFormatType + + +class DescriptionType202(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType202) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType202.subclass: + return DescriptionType202.subclass(*args_, **kwargs_) + else: + return DescriptionType202(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType203(self, value): + # Validate type TextFormatType203, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType203' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType204(self, value): + # Validate type LanguageType204, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType204_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType204_patterns_, )) + validate_LanguageType204_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType202', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType202') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType202': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType202') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType202'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType202', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType203(self.TextFormat) # validate type TextFormatType203 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType204(self.Language) # validate type LanguageType204 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType202 + + +class PositionType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Altitude = _cast(float, Altitude) + self.Altitude_nsprefix_ = None + self.AltitudeUnitOfMeasureCode = _cast(None, AltitudeUnitOfMeasureCode) + self.AltitudeUnitOfMeasureCode_nsprefix_ = None + self.Latitude = _cast(float, Latitude) + self.Latitude_nsprefix_ = None + self.Longitude = _cast(float, Longitude) + self.Longitude_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PositionType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PositionType.subclass: + return PositionType.subclass(*args_, **kwargs_) + else: + return PositionType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Altitude(self): + return self.Altitude + def set_Altitude(self, Altitude): + self.Altitude = Altitude + def get_AltitudeUnitOfMeasureCode(self): + return self.AltitudeUnitOfMeasureCode + def set_AltitudeUnitOfMeasureCode(self, AltitudeUnitOfMeasureCode): + self.AltitudeUnitOfMeasureCode = AltitudeUnitOfMeasureCode + def get_Latitude(self): + return self.Latitude + def set_Latitude(self, Latitude): + self.Latitude = Latitude + def get_Longitude(self): + return self.Longitude + def set_Longitude(self, Longitude): + self.Longitude = Longitude + def validate_AltitudeUnitOfMeasureCodeType(self, value): + # Validate type AltitudeUnitOfMeasureCodeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['3'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AltitudeUnitOfMeasureCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PositionType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PositionType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PositionType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PositionType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PositionType'): + if self.Altitude is not None and 'Altitude' not in already_processed: + already_processed.add('Altitude') + outfile.write(' Altitude="%s"' % self.gds_format_decimal(self.Altitude, input_name='Altitude')) + if self.AltitudeUnitOfMeasureCode is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: + already_processed.add('AltitudeUnitOfMeasureCode') + outfile.write(' AltitudeUnitOfMeasureCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AltitudeUnitOfMeasureCode), input_name='AltitudeUnitOfMeasureCode')), )) + if self.Latitude is not None and 'Latitude' not in already_processed: + already_processed.add('Latitude') + outfile.write(' Latitude="%s"' % self.gds_format_decimal(self.Latitude, input_name='Latitude')) + if self.Longitude is not None and 'Longitude' not in already_processed: + already_processed.add('Longitude') + outfile.write(' Longitude="%s"' % self.gds_format_decimal(self.Longitude, input_name='Longitude')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Altitude', node) + if value is not None and 'Altitude' not in already_processed: + already_processed.add('Altitude') + value = self.gds_parse_decimal(value, node, 'Altitude') + self.Altitude = value + value = find_attr_value_('AltitudeUnitOfMeasureCode', node) + if value is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: + already_processed.add('AltitudeUnitOfMeasureCode') + self.AltitudeUnitOfMeasureCode = value + self.validate_AltitudeUnitOfMeasureCodeType(self.AltitudeUnitOfMeasureCode) # validate type AltitudeUnitOfMeasureCodeType + value = find_attr_value_('Latitude', node) + if value is not None and 'Latitude' not in already_processed: + already_processed.add('Latitude') + value = self.gds_parse_decimal(value, node, 'Latitude') + self.Latitude = value + value = find_attr_value_('Longitude', node) + if value is not None and 'Longitude' not in already_processed: + already_processed.add('Longitude') + value = self.gds_parse_decimal(value, node, 'Longitude') + self.Longitude = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PositionType + + +class ServicesType206(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Service=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Service is None: + self.Service = [] + else: + self.Service = Service + self.Service_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServicesType206) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServicesType206.subclass: + return ServicesType206.subclass(*args_, **kwargs_) + else: + return ServicesType206(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Service(self): + return self.Service + def set_Service(self, Service): + self.Service = Service + def add_Service(self, value): + self.Service.append(value) + def insert_Service_at(self, index, value): + self.Service.insert(index, value) + def replace_Service_at(self, index, value): + self.Service[index] = value + def has__content(self): + if ( + self.Service + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType206', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType206') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServicesType206': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType206') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType206', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType206'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType206', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Service_ in self.Service: + namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' + Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Service': + obj_ = ServiceType207.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Service.append(obj_) + obj_.original_tagname_ = 'Service' +# end class ServicesType206 + + +class ServiceType207(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.MealPlanCode = _cast(None, MealPlanCode) + self.MealPlanCode_nsprefix_ = None + self.ProximityCode = _cast(int, ProximityCode) + self.ProximityCode_nsprefix_ = None + self.Included = _cast(bool, Included) + self.Included_nsprefix_ = None + self.Features = Features + self.Features_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceType207) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceType207.subclass: + return ServiceType207.subclass(*args_, **kwargs_) + else: + return ServiceType207(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Features(self): + return self.Features + def set_Features(self, Features): + self.Features = Features + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_MealPlanCode(self): + return self.MealPlanCode + def set_MealPlanCode(self, MealPlanCode): + self.MealPlanCode = MealPlanCode + def get_ProximityCode(self): + return self.ProximityCode + def set_ProximityCode(self, ProximityCode): + self.ProximityCode = ProximityCode + def get_Included(self): + return self.Included + def set_Included(self, Included): + self.Included = Included + def validate_def_alpinebits_code(self, value): + # Validate type def_alpinebits_code, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_alpinebits_code_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) + validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] + def validate_MealPlanCodeType(self, value): + # Validate type MealPlanCodeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['12'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.Features is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType207', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType207') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceType207': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType207') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType207', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType207'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.MealPlanCode is not None and 'MealPlanCode' not in already_processed: + already_processed.add('MealPlanCode') + outfile.write(' MealPlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCode), input_name='MealPlanCode')), )) + if self.ProximityCode is not None and 'ProximityCode' not in already_processed: + already_processed.add('ProximityCode') + outfile.write(' ProximityCode="%s"' % self.gds_format_integer(self.ProximityCode, input_name='ProximityCode')) + if self.Included is not None and 'Included' not in already_processed: + already_processed.add('Included') + outfile.write(' Included="%s"' % self.gds_format_boolean(self.Included, input_name='Included')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType207', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Features is not None: + namespaceprefix_ = self.Features_nsprefix_ + ':' if (UseCapturedNS_ and self.Features_nsprefix_) else '' + self.Features.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Features', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_alpinebits_code(self.Code) # validate type def_alpinebits_code + value = find_attr_value_('MealPlanCode', node) + if value is not None and 'MealPlanCode' not in already_processed: + already_processed.add('MealPlanCode') + self.MealPlanCode = value + self.validate_MealPlanCodeType(self.MealPlanCode) # validate type MealPlanCodeType + value = find_attr_value_('ProximityCode', node) + if value is not None and 'ProximityCode' not in already_processed: + already_processed.add('ProximityCode') + self.ProximityCode = self.gds_parse_integer(value, node, 'ProximityCode') + if self.ProximityCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.ProximityCode) # validate type def_int_gt0 + value = find_attr_value_('Included', node) + if value is not None and 'Included' not in already_processed: + already_processed.add('Included') + if value in ('true', '1'): + self.Included = True + elif value in ('false', '0'): + self.Included = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Included) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Features': + obj_ = FeaturesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Features = obj_ + obj_.original_tagname_ = 'Features' +# end class ServiceType207 + + +class FeaturesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Feature=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Feature is None: + self.Feature = [] + else: + self.Feature = Feature + self.Feature_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, FeaturesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if FeaturesType.subclass: + return FeaturesType.subclass(*args_, **kwargs_) + else: + return FeaturesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Feature(self): + return self.Feature + def set_Feature(self, Feature): + self.Feature = Feature + def add_Feature(self, value): + self.Feature.append(value) + def insert_Feature_at(self, index, value): + self.Feature.insert(index, value) + def replace_Feature_at(self, index, value): + self.Feature[index] = value + def has__content(self): + if ( + self.Feature + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeaturesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'FeaturesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeaturesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeaturesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeaturesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Feature_ in self.Feature: + namespaceprefix_ = self.Feature_nsprefix_ + ':' if (UseCapturedNS_ and self.Feature_nsprefix_) else '' + Feature_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Feature', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Feature': + obj_ = FeatureType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Feature.append(obj_) + obj_.original_tagname_ = 'Feature' +# end class FeaturesType + + +class FeatureType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AccessibleCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AccessibleCode = _cast(int, AccessibleCode) + self.AccessibleCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, FeatureType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if FeatureType.subclass: + return FeatureType.subclass(*args_, **kwargs_) + else: + return FeatureType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AccessibleCode(self): + return self.AccessibleCode + def set_AccessibleCode(self, AccessibleCode): + self.AccessibleCode = AccessibleCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeatureType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'FeatureType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeatureType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeatureType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeatureType'): + if self.AccessibleCode is not None and 'AccessibleCode' not in already_processed: + already_processed.add('AccessibleCode') + outfile.write(' AccessibleCode="%s"' % self.gds_format_integer(self.AccessibleCode, input_name='AccessibleCode')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AccessibleCode', node) + if value is not None and 'AccessibleCode' not in already_processed: + already_processed.add('AccessibleCode') + self.AccessibleCode = self.gds_parse_integer(value, node, 'AccessibleCode') + if self.AccessibleCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AccessibleCode) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class FeatureType + + +class FacilityInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestRooms=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuestRooms = GuestRooms + self.GuestRooms_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, FacilityInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if FacilityInfoType.subclass: + return FacilityInfoType.subclass(*args_, **kwargs_) + else: + return FacilityInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestRooms(self): + return self.GuestRooms + def set_GuestRooms(self, GuestRooms): + self.GuestRooms = GuestRooms + def has__content(self): + if ( + self.GuestRooms is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('FacilityInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'FacilityInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FacilityInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FacilityInfoType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FacilityInfoType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuestRooms is not None: + namespaceprefix_ = self.GuestRooms_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRooms_nsprefix_) else '' + self.GuestRooms.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRooms', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestRooms': + obj_ = GuestRoomsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestRooms = obj_ + obj_.original_tagname_ = 'GuestRooms' +# end class FacilityInfoType + + +class GuestRoomsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestRoom=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuestRoom is None: + self.GuestRoom = [] + else: + self.GuestRoom = GuestRoom + self.GuestRoom_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestRoomsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestRoomsType.subclass: + return GuestRoomsType.subclass(*args_, **kwargs_) + else: + return GuestRoomsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestRoom(self): + return self.GuestRoom + def set_GuestRoom(self, GuestRoom): + self.GuestRoom = GuestRoom + def add_GuestRoom(self, value): + self.GuestRoom.append(value) + def insert_GuestRoom_at(self, index, value): + self.GuestRoom.insert(index, value) + def replace_GuestRoom_at(self, index, value): + self.GuestRoom[index] = value + def has__content(self): + if ( + self.GuestRoom + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestRoomsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuestRoom_ in self.GuestRoom: + namespaceprefix_ = self.GuestRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRoom_nsprefix_) else '' + GuestRoom_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRoom', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestRoom': + obj_ = GuestRoomType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestRoom.append(obj_) + obj_.original_tagname_ = 'GuestRoom' +# end class GuestRoomsType + + +class GuestRoomType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.MaxOccupancy = _cast(int, MaxOccupancy) + self.MaxOccupancy_nsprefix_ = None + self.MinOccupancy = _cast(int, MinOccupancy) + self.MinOccupancy_nsprefix_ = None + self.MaxChildOccupancy = _cast(int, MaxChildOccupancy) + self.MaxChildOccupancy_nsprefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.TypeRoom = TypeRoom + self.TypeRoom_nsprefix_ = None + self.Amenities = Amenities + self.Amenities_nsprefix_ = None + self.MultimediaDescriptions = MultimediaDescriptions + self.MultimediaDescriptions_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestRoomType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestRoomType.subclass: + return GuestRoomType.subclass(*args_, **kwargs_) + else: + return GuestRoomType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TypeRoom(self): + return self.TypeRoom + def set_TypeRoom(self, TypeRoom): + self.TypeRoom = TypeRoom + def get_Amenities(self): + return self.Amenities + def set_Amenities(self, Amenities): + self.Amenities = Amenities + def get_MultimediaDescriptions(self): + return self.MultimediaDescriptions + def set_MultimediaDescriptions(self, MultimediaDescriptions): + self.MultimediaDescriptions = MultimediaDescriptions + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_MaxOccupancy(self): + return self.MaxOccupancy + def set_MaxOccupancy(self, MaxOccupancy): + self.MaxOccupancy = MaxOccupancy + def get_MinOccupancy(self): + return self.MinOccupancy + def set_MinOccupancy(self, MinOccupancy): + self.MinOccupancy = MinOccupancy + def get_MaxChildOccupancy(self): + return self.MaxChildOccupancy + def set_MaxChildOccupancy(self, MaxChildOccupancy): + self.MaxChildOccupancy = MaxChildOccupancy + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.TypeRoom is not None or + self.Amenities is not None or + self.MultimediaDescriptions is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestRoomType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomType'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) + if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) + if self.MaxChildOccupancy is not None and 'MaxChildOccupancy' not in already_processed: + already_processed.add('MaxChildOccupancy') + outfile.write(' MaxChildOccupancy="%s"' % self.gds_format_integer(self.MaxChildOccupancy, input_name='MaxChildOccupancy')) + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TypeRoom is not None: + namespaceprefix_ = self.TypeRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.TypeRoom_nsprefix_) else '' + self.TypeRoom.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TypeRoom', pretty_print=pretty_print) + if self.Amenities is not None: + namespaceprefix_ = self.Amenities_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenities_nsprefix_) else '' + self.Amenities.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenities', pretty_print=pretty_print) + if self.MultimediaDescriptions is not None: + namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' + self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string + value = find_attr_value_('MaxOccupancy', node) + if value is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') + if self.MaxOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 + value = find_attr_value_('MinOccupancy', node) + if value is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') + if self.MinOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinOccupancy) # validate type def_int_gt0 + value = find_attr_value_('MaxChildOccupancy', node) + if value is not None and 'MaxChildOccupancy' not in already_processed: + already_processed.add('MaxChildOccupancy') + self.MaxChildOccupancy = self.gds_parse_integer(value, node, 'MaxChildOccupancy') + if self.MaxChildOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxChildOccupancy) # validate type def_int_gt0 + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_def_invTypeCode_string(self.ID) # validate type def_invTypeCode_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TypeRoom': + obj_ = TypeRoomType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TypeRoom = obj_ + obj_.original_tagname_ = 'TypeRoom' + elif nodeName_ == 'Amenities': + obj_ = AmenitiesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Amenities = obj_ + obj_.original_tagname_ = 'Amenities' + elif nodeName_ == 'MultimediaDescriptions': + obj_ = MultimediaDescriptionsType209.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescriptions = obj_ + obj_.original_tagname_ = 'MultimediaDescriptions' +# end class GuestRoomType + + +class TypeRoomType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.StandardOccupancy = _cast(int, StandardOccupancy) + self.StandardOccupancy_nsprefix_ = None + self.RoomClassificationCode = _cast(int, RoomClassificationCode) + self.RoomClassificationCode_nsprefix_ = None + self.RoomID = _cast(None, RoomID) + self.RoomID_nsprefix_ = None + self.Size = _cast(int, Size) + self.Size_nsprefix_ = None + self.RoomType = _cast(None, RoomType) + self.RoomType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TypeRoomType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TypeRoomType.subclass: + return TypeRoomType.subclass(*args_, **kwargs_) + else: + return TypeRoomType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StandardOccupancy(self): + return self.StandardOccupancy + def set_StandardOccupancy(self, StandardOccupancy): + self.StandardOccupancy = StandardOccupancy + def get_RoomClassificationCode(self): + return self.RoomClassificationCode + def set_RoomClassificationCode(self, RoomClassificationCode): + self.RoomClassificationCode = RoomClassificationCode + def get_RoomID(self): + return self.RoomID + def set_RoomID(self, RoomID): + self.RoomID = RoomID + def get_Size(self): + return self.Size + def set_Size(self, Size): + self.Size = Size + def get_RoomType(self): + return self.RoomType + def set_RoomType(self, RoomType): + self.RoomType = RoomType + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_RoomTypeType208(self, value): + # Validate type RoomTypeType208, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType208' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TypeRoomType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TypeRoomType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TypeRoomType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TypeRoomType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TypeRoomType'): + if self.StandardOccupancy is not None and 'StandardOccupancy' not in already_processed: + already_processed.add('StandardOccupancy') + outfile.write(' StandardOccupancy="%s"' % self.gds_format_integer(self.StandardOccupancy, input_name='StandardOccupancy')) + if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) + if self.RoomID is not None and 'RoomID' not in already_processed: + already_processed.add('RoomID') + outfile.write(' RoomID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomID), input_name='RoomID')), )) + if self.Size is not None and 'Size' not in already_processed: + already_processed.add('Size') + outfile.write(' Size="%s"' % self.gds_format_integer(self.Size, input_name='Size')) + if self.RoomType is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('StandardOccupancy', node) + if value is not None and 'StandardOccupancy' not in already_processed: + already_processed.add('StandardOccupancy') + self.StandardOccupancy = self.gds_parse_integer(value, node, 'StandardOccupancy') + if self.StandardOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.StandardOccupancy) # validate type def_int_gt0 + value = find_attr_value_('RoomClassificationCode', node) + if value is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') + if self.RoomClassificationCode < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 + value = find_attr_value_('RoomID', node) + if value is not None and 'RoomID' not in already_processed: + already_processed.add('RoomID') + self.RoomID = value + self.validate_StringLength1to16(self.RoomID) # validate type StringLength1to16 + value = find_attr_value_('Size', node) + if value is not None and 'Size' not in already_processed: + already_processed.add('Size') + self.Size = self.gds_parse_integer(value, node, 'Size') + if self.Size < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Size) # validate type def_int_ge0 + value = find_attr_value_('RoomType', node) + if value is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + self.RoomType = value + self.validate_RoomTypeType208(self.RoomType) # validate type RoomTypeType208 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TypeRoomType + + +class AmenitiesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amenity=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Amenity is None: + self.Amenity = [] + else: + self.Amenity = Amenity + self.Amenity_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmenitiesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmenitiesType.subclass: + return AmenitiesType.subclass(*args_, **kwargs_) + else: + return AmenitiesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amenity(self): + return self.Amenity + def set_Amenity(self, Amenity): + self.Amenity = Amenity + def add_Amenity(self, value): + self.Amenity.append(value) + def insert_Amenity_at(self, index, value): + self.Amenity.insert(index, value) + def replace_Amenity_at(self, index, value): + self.Amenity[index] = value + def has__content(self): + if ( + self.Amenity + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenitiesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmenitiesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenitiesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenitiesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenitiesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Amenity_ in self.Amenity: + namespaceprefix_ = self.Amenity_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenity_nsprefix_) else '' + Amenity_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenity', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Amenity': + obj_ = AmenityType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Amenity.append(obj_) + obj_.original_tagname_ = 'Amenity' +# end class AmenitiesType + + +class AmenityType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomAmenityCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomAmenityCode = _cast(None, RoomAmenityCode) + self.RoomAmenityCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmenityType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmenityType.subclass: + return AmenityType.subclass(*args_, **kwargs_) + else: + return AmenityType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomAmenityCode(self): + return self.RoomAmenityCode + def set_RoomAmenityCode(self, RoomAmenityCode): + self.RoomAmenityCode = RoomAmenityCode + def validate_def_alpinebits_code(self, value): + # Validate type def_alpinebits_code, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_alpinebits_code_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) + validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenityType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmenityType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenityType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenityType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenityType'): + if self.RoomAmenityCode is not None and 'RoomAmenityCode' not in already_processed: + already_processed.add('RoomAmenityCode') + outfile.write(' RoomAmenityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomAmenityCode), input_name='RoomAmenityCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RoomAmenityCode', node) + if value is not None and 'RoomAmenityCode' not in already_processed: + already_processed.add('RoomAmenityCode') + self.RoomAmenityCode = value + self.validate_def_alpinebits_code(self.RoomAmenityCode) # validate type def_alpinebits_code + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AmenityType + + +class MultimediaDescriptionsType209(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if MultimediaDescription is None: + self.MultimediaDescription = [] + else: + self.MultimediaDescription = MultimediaDescription + self.MultimediaDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionsType209) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionsType209.subclass: + return MultimediaDescriptionsType209.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionsType209(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MultimediaDescription(self): + return self.MultimediaDescription + def set_MultimediaDescription(self, MultimediaDescription): + self.MultimediaDescription = MultimediaDescription + def add_MultimediaDescription(self, value): + self.MultimediaDescription.append(value) + def insert_MultimediaDescription_at(self, index, value): + self.MultimediaDescription.insert(index, value) + def replace_MultimediaDescription_at(self, index, value): + self.MultimediaDescription[index] = value + def has__content(self): + if ( + self.MultimediaDescription + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType209', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType209') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType209': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType209') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType209', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType209'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType209', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for MultimediaDescription_ in self.MultimediaDescription: + namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' + MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'MultimediaDescription': + obj_ = MultimediaDescriptionType210.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescription.append(obj_) + obj_.original_tagname_ = 'MultimediaDescription' +# end class MultimediaDescriptionsType209 + + +class MultimediaDescriptionType210(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.InfoCode = _cast(int, InfoCode) + self.InfoCode_nsprefix_ = None + self.TextItems = TextItems + self.TextItems_nsprefix_ = None + self.ImageItems = ImageItems + self.ImageItems_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionType210) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionType210.subclass: + return MultimediaDescriptionType210.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionType210(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItems(self): + return self.TextItems + def set_TextItems(self, TextItems): + self.TextItems = TextItems + def get_ImageItems(self): + return self.ImageItems + def set_ImageItems(self, ImageItems): + self.ImageItems = ImageItems + def get_InfoCode(self): + return self.InfoCode + def set_InfoCode(self, InfoCode): + self.InfoCode = InfoCode + def validate_InfoCodeType222(self, value): + # Validate type InfoCodeType222, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 23, 25] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType222' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_InfoCodeType222_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType222_patterns_, )) + validate_InfoCodeType222_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.TextItems is not None or + self.ImageItems is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType210', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType210') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType210': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType210') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType210', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType210'): + if self.InfoCode is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType210', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TextItems is not None: + namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' + self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) + if self.ImageItems is not None: + namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' + self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('InfoCode', node) + if value is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') + if self.InfoCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_InfoCodeType222(self.InfoCode) # validate type InfoCodeType222 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItems': + obj_ = TextItemsType211.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItems = obj_ + obj_.original_tagname_ = 'TextItems' + elif nodeName_ == 'ImageItems': + obj_ = ImageItemsType216.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItems = obj_ + obj_.original_tagname_ = 'ImageItems' +# end class MultimediaDescriptionType210 + + +class TextItemsType211(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextItem = TextItem + self.TextItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemsType211) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemsType211.subclass: + return TextItemsType211.subclass(*args_, **kwargs_) + else: + return TextItemsType211(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItem(self): + return self.TextItem + def set_TextItem(self, TextItem): + self.TextItem = TextItem + def has__content(self): + if ( + self.TextItem is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType211', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType211') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemsType211': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType211') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType211', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType211'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType211', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TextItem is not None: + namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' + self.TextItem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItem': + obj_ = TextItemType212.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItem = obj_ + obj_.original_tagname_ = 'TextItem' +# end class TextItemsType211 + + +class TextItemType212(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemType212) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemType212.subclass: + return TextItemType212.subclass(*args_, **kwargs_) + else: + return TextItemType212(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def has__content(self): + if ( + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType212', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType212') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemType212': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType212') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType212', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType212'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType212', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType213.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class TextItemType212 + + +class DescriptionType213(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType213) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType213.subclass: + return DescriptionType213.subclass(*args_, **kwargs_) + else: + return DescriptionType213(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType214(self, value): + # Validate type TextFormatType214, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType214' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType215(self, value): + # Validate type LanguageType215, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType215_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType215_patterns_, )) + validate_LanguageType215_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType213', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType213') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType213': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType213') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType213'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType213', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType214(self.TextFormat) # validate type TextFormatType214 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType215(self.Language) # validate type LanguageType215 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType213 + + +class ImageItemsType216(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if ImageItem is None: + self.ImageItem = [] + else: + self.ImageItem = ImageItem + self.ImageItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemsType216) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemsType216.subclass: + return ImageItemsType216.subclass(*args_, **kwargs_) + else: + return ImageItemsType216(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageItem(self): + return self.ImageItem + def set_ImageItem(self, ImageItem): + self.ImageItem = ImageItem + def add_ImageItem(self, value): + self.ImageItem.append(value) + def insert_ImageItem_at(self, index, value): + self.ImageItem.insert(index, value) + def replace_ImageItem_at(self, index, value): + self.ImageItem[index] = value + def has__content(self): + if ( + self.ImageItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType216', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType216') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemsType216': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType216') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType216', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType216'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType216', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ImageItem_ in self.ImageItem: + namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' + ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageItem': + obj_ = ImageItemType217.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItem.append(obj_) + obj_.original_tagname_ = 'ImageItem' +# end class ImageItemsType216 + + +class ImageItemType217(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Category = _cast(int, Category) + self.Category_nsprefix_ = None + self.ImageFormat = ImageFormat + self.ImageFormat_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemType217) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemType217.subclass: + return ImageItemType217.subclass(*args_, **kwargs_) + else: + return ImageItemType217(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageFormat(self): + return self.ImageFormat + def set_ImageFormat(self, ImageFormat): + self.ImageFormat = ImageFormat + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Category(self): + return self.Category + def set_Category(self, Category): + self.Category = Category + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.ImageFormat is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType217', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType217') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemType217': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType217') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType217', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType217'): + if self.Category is not None and 'Category' not in already_processed: + already_processed.add('Category') + outfile.write(' Category="%s"' % self.gds_format_integer(self.Category, input_name='Category')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType217', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ImageFormat is not None: + namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' + self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Category', node) + if value is not None and 'Category' not in already_processed: + already_processed.add('Category') + self.Category = self.gds_parse_integer(value, node, 'Category') + if self.Category <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Category) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageFormat': + obj_ = ImageFormatType218.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageFormat = obj_ + obj_.original_tagname_ = 'ImageFormat' + elif nodeName_ == 'Description': + obj_ = DescriptionType219.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class ImageItemType217 + + +class ImageFormatType218(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CopyrightNotice=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + self.URL = URL + self.validate_def_url_string(self.URL) + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageFormatType218) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageFormatType218.subclass: + return ImageFormatType218.subclass(*args_, **kwargs_) + else: + return ImageFormatType218(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.URL is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType218', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType218') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageFormatType218': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType218') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType218', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType218'): + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType218', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.URL is not None: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL = value_ + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL) +# end class ImageFormatType218 + + +class DescriptionType219(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType219) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType219.subclass: + return DescriptionType219.subclass(*args_, **kwargs_) + else: + return DescriptionType219(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType220(self, value): + # Validate type TextFormatType220, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType220' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType221(self, value): + # Validate type LanguageType221, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType221_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType221_patterns_, )) + validate_LanguageType221_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType219', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType219') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType219': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType219') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType219'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType219', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType220(self.TextFormat) # validate type TextFormatType220 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType221(self.Language) # validate type LanguageType221 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType219 + + +class PoliciesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Policy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Policy is None: + self.Policy = [] + else: + self.Policy = Policy + self.Policy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PoliciesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PoliciesType.subclass: + return PoliciesType.subclass(*args_, **kwargs_) + else: + return PoliciesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Policy(self): + return self.Policy + def set_Policy(self, Policy): + self.Policy = Policy + def add_Policy(self, value): + self.Policy.append(value) + def insert_Policy_at(self, index, value): + self.Policy.insert(index, value) + def replace_Policy_at(self, index, value): + self.Policy[index] = value + def has__content(self): + if ( + self.Policy + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PoliciesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PoliciesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PoliciesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PoliciesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PoliciesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Policy_ in self.Policy: + namespaceprefix_ = self.Policy_nsprefix_ + ':' if (UseCapturedNS_ and self.Policy_nsprefix_) else '' + Policy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Policy': + obj_ = PolicyType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Policy.append(obj_) + obj_.original_tagname_ = 'Policy' +# end class PoliciesType + + +class PolicyType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CancelPolicy = CancelPolicy + self.CancelPolicy_nsprefix_ = None + self.CheckoutCharges = CheckoutCharges + self.CheckoutCharges_nsprefix_ = None + self.PetsPolicies = PetsPolicies + self.PetsPolicies_nsprefix_ = None + self.TaxPolicies = TaxPolicies + self.TaxPolicies_nsprefix_ = None + self.GuaranteePaymentPolicy = GuaranteePaymentPolicy + self.GuaranteePaymentPolicy_nsprefix_ = None + self.PolicyInfo = PolicyInfo + self.PolicyInfo_nsprefix_ = None + self.StayRequirements = StayRequirements + self.StayRequirements_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PolicyType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PolicyType.subclass: + return PolicyType.subclass(*args_, **kwargs_) + else: + return PolicyType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CancelPolicy(self): + return self.CancelPolicy + def set_CancelPolicy(self, CancelPolicy): + self.CancelPolicy = CancelPolicy + def get_CheckoutCharges(self): + return self.CheckoutCharges + def set_CheckoutCharges(self, CheckoutCharges): + self.CheckoutCharges = CheckoutCharges + def get_PetsPolicies(self): + return self.PetsPolicies + def set_PetsPolicies(self, PetsPolicies): + self.PetsPolicies = PetsPolicies + def get_TaxPolicies(self): + return self.TaxPolicies + def set_TaxPolicies(self, TaxPolicies): + self.TaxPolicies = TaxPolicies + def get_GuaranteePaymentPolicy(self): + return self.GuaranteePaymentPolicy + def set_GuaranteePaymentPolicy(self, GuaranteePaymentPolicy): + self.GuaranteePaymentPolicy = GuaranteePaymentPolicy + def get_PolicyInfo(self): + return self.PolicyInfo + def set_PolicyInfo(self, PolicyInfo): + self.PolicyInfo = PolicyInfo + def get_StayRequirements(self): + return self.StayRequirements + def set_StayRequirements(self, StayRequirements): + self.StayRequirements = StayRequirements + def has__content(self): + if ( + self.CancelPolicy is not None or + self.CheckoutCharges is not None or + self.PetsPolicies is not None or + self.TaxPolicies is not None or + self.GuaranteePaymentPolicy is not None or + self.PolicyInfo is not None or + self.StayRequirements is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PolicyType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CancelPolicy is not None: + namespaceprefix_ = self.CancelPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPolicy_nsprefix_) else '' + self.CancelPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPolicy', pretty_print=pretty_print) + if self.CheckoutCharges is not None: + namespaceprefix_ = self.CheckoutCharges_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharges_nsprefix_) else '' + self.CheckoutCharges.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharges', pretty_print=pretty_print) + if self.PetsPolicies is not None: + namespaceprefix_ = self.PetsPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicies_nsprefix_) else '' + self.PetsPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicies', pretty_print=pretty_print) + if self.TaxPolicies is not None: + namespaceprefix_ = self.TaxPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicies_nsprefix_) else '' + self.TaxPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicies', pretty_print=pretty_print) + if self.GuaranteePaymentPolicy is not None: + namespaceprefix_ = self.GuaranteePaymentPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePaymentPolicy_nsprefix_) else '' + self.GuaranteePaymentPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePaymentPolicy', pretty_print=pretty_print) + if self.PolicyInfo is not None: + namespaceprefix_ = self.PolicyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.PolicyInfo_nsprefix_) else '' + self.PolicyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PolicyInfo', pretty_print=pretty_print) + if self.StayRequirements is not None: + namespaceprefix_ = self.StayRequirements_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirements_nsprefix_) else '' + self.StayRequirements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirements', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CancelPolicy': + obj_ = CancelPolicyType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPolicy = obj_ + obj_.original_tagname_ = 'CancelPolicy' + elif nodeName_ == 'CheckoutCharges': + obj_ = CheckoutChargesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CheckoutCharges = obj_ + obj_.original_tagname_ = 'CheckoutCharges' + elif nodeName_ == 'PetsPolicies': + obj_ = PetsPoliciesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PetsPolicies = obj_ + obj_.original_tagname_ = 'PetsPolicies' + elif nodeName_ == 'TaxPolicies': + obj_ = TaxPoliciesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TaxPolicies = obj_ + obj_.original_tagname_ = 'TaxPolicies' + elif nodeName_ == 'GuaranteePaymentPolicy': + obj_ = GuaranteePaymentPolicyType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteePaymentPolicy = obj_ + obj_.original_tagname_ = 'GuaranteePaymentPolicy' + elif nodeName_ == 'PolicyInfo': + obj_ = PolicyInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PolicyInfo = obj_ + obj_.original_tagname_ = 'PolicyInfo' + elif nodeName_ == 'StayRequirements': + obj_ = StayRequirementsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StayRequirements = obj_ + obj_.original_tagname_ = 'StayRequirements' +# end class PolicyType + + +class CancelPolicyType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CancelPenalty = CancelPenalty + self.CancelPenalty_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPolicyType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPolicyType.subclass: + return CancelPolicyType.subclass(*args_, **kwargs_) + else: + return CancelPolicyType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CancelPenalty(self): + return self.CancelPenalty + def set_CancelPenalty(self, CancelPenalty): + self.CancelPenalty = CancelPenalty + def has__content(self): + if ( + self.CancelPenalty is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPolicyType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPolicyType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPolicyType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPolicyType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPolicyType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CancelPenalty is not None: + namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' + self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CancelPenalty': + obj_ = CancelPenaltyType223.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPenalty = obj_ + obj_.original_tagname_ = 'CancelPenalty' +# end class CancelPolicyType + + +class CancelPenaltyType223(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PenaltyDescription = PenaltyDescription + self.PenaltyDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPenaltyType223) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPenaltyType223.subclass: + return CancelPenaltyType223.subclass(*args_, **kwargs_) + else: + return CancelPenaltyType223(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PenaltyDescription(self): + return self.PenaltyDescription + def set_PenaltyDescription(self, PenaltyDescription): + self.PenaltyDescription = PenaltyDescription + def has__content(self): + if ( + self.PenaltyDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType223', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType223') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPenaltyType223': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType223') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType223', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType223'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType223', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PenaltyDescription is not None: + namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' + self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PenaltyDescription': + obj_ = PenaltyDescriptionType224.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PenaltyDescription = obj_ + obj_.original_tagname_ = 'PenaltyDescription' +# end class CancelPenaltyType223 + + +class PenaltyDescriptionType224(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PenaltyDescriptionType224) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PenaltyDescriptionType224.subclass: + return PenaltyDescriptionType224.subclass(*args_, **kwargs_) + else: + return PenaltyDescriptionType224(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType224', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType224') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType224': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType224') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType224', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType224'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType224', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType225.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class PenaltyDescriptionType224 + + +class TextType225(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType225) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType225.subclass: + return TextType225.subclass(*args_, **kwargs_) + else: + return TextType225(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType226(self, value): + # Validate type TextFormatType226, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType226' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType227(self, value): + # Validate type LanguageType227, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType227_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType227_patterns_, )) + validate_LanguageType227_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType225', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType225') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType225': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType225') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType225'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType225', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType226(self.TextFormat) # validate type TextFormatType226 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType227(self.Language) # validate type LanguageType227 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType225 + + +class CheckoutChargesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CheckoutCharge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CheckoutCharge = CheckoutCharge + self.CheckoutCharge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CheckoutChargesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CheckoutChargesType.subclass: + return CheckoutChargesType.subclass(*args_, **kwargs_) + else: + return CheckoutChargesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CheckoutCharge(self): + return self.CheckoutCharge + def set_CheckoutCharge(self, CheckoutCharge): + self.CheckoutCharge = CheckoutCharge + def has__content(self): + if ( + self.CheckoutCharge is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CheckoutChargesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CheckoutCharge is not None: + namespaceprefix_ = self.CheckoutCharge_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharge_nsprefix_) else '' + self.CheckoutCharge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharge', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CheckoutCharge': + obj_ = CheckoutChargeType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CheckoutCharge = obj_ + obj_.original_tagname_ = 'CheckoutCharge' +# end class CheckoutChargesType + + +class CheckoutChargeType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.DecimalPlaces = _cast(int, DecimalPlaces) + self.DecimalPlaces_nsprefix_ = None + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CheckoutChargeType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CheckoutChargeType.subclass: + return CheckoutChargeType.subclass(*args_, **kwargs_) + else: + return CheckoutChargeType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_DecimalPlaces(self): + return self.DecimalPlaces + def set_DecimalPlaces(self, DecimalPlaces): + self.DecimalPlaces = DecimalPlaces + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.Description is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargeType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CheckoutChargeType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargeType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargeType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargeType'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Description is not None: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('DecimalPlaces', node) + if value is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') + if self.DecimalPlaces <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType228.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description = obj_ + obj_.original_tagname_ = 'Description' +# end class CheckoutChargeType + + +class DescriptionType228(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType228) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType228.subclass: + return DescriptionType228.subclass(*args_, **kwargs_) + else: + return DescriptionType228(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType228', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType228') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType228': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType228') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType228', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType228'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType228', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType229.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class DescriptionType228 + + +class TextType229(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType229) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType229.subclass: + return TextType229.subclass(*args_, **kwargs_) + else: + return TextType229(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType230(self, value): + # Validate type TextFormatType230, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType230' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType231(self, value): + # Validate type LanguageType231, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType231_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType231_patterns_, )) + validate_LanguageType231_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType229', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType229') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType229': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType229') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType229'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType229', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType230(self.TextFormat) # validate type TextFormatType230 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType231(self.Language) # validate type LanguageType231 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType229 + + +class PetsPoliciesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PetsPolicy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PetsPolicy = PetsPolicy + self.PetsPolicy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PetsPoliciesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PetsPoliciesType.subclass: + return PetsPoliciesType.subclass(*args_, **kwargs_) + else: + return PetsPoliciesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PetsPolicy(self): + return self.PetsPolicy + def set_PetsPolicy(self, PetsPolicy): + self.PetsPolicy = PetsPolicy + def has__content(self): + if ( + self.PetsPolicy is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPoliciesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PetsPoliciesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPoliciesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPoliciesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPoliciesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PetsPolicy is not None: + namespaceprefix_ = self.PetsPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicy_nsprefix_) else '' + self.PetsPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PetsPolicy': + obj_ = PetsPolicyType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PetsPolicy = obj_ + obj_.original_tagname_ = 'PetsPolicy' +# end class PetsPoliciesType + + +class PetsPolicyType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MaxPetQuantity = _cast(int, MaxPetQuantity) + self.MaxPetQuantity_nsprefix_ = None + self.NonRefundableFee = _cast(float, NonRefundableFee) + self.NonRefundableFee_nsprefix_ = None + self.ChargeCode = _cast(int, ChargeCode) + self.ChargeCode_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.DecimalPlaces = _cast(int, DecimalPlaces) + self.DecimalPlaces_nsprefix_ = None + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PetsPolicyType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PetsPolicyType.subclass: + return PetsPolicyType.subclass(*args_, **kwargs_) + else: + return PetsPolicyType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def get_MaxPetQuantity(self): + return self.MaxPetQuantity + def set_MaxPetQuantity(self, MaxPetQuantity): + self.MaxPetQuantity = MaxPetQuantity + def get_NonRefundableFee(self): + return self.NonRefundableFee + def set_NonRefundableFee(self, NonRefundableFee): + self.NonRefundableFee = NonRefundableFee + def get_ChargeCode(self): + return self.ChargeCode + def set_ChargeCode(self, ChargeCode): + self.ChargeCode = ChargeCode + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_DecimalPlaces(self): + return self.DecimalPlaces + def set_DecimalPlaces(self, DecimalPlaces): + self.DecimalPlaces = DecimalPlaces + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Description is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPolicyType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PetsPolicyType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPolicyType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPolicyType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPolicyType'): + if self.MaxPetQuantity is not None and 'MaxPetQuantity' not in already_processed: + already_processed.add('MaxPetQuantity') + outfile.write(' MaxPetQuantity="%s"' % self.gds_format_integer(self.MaxPetQuantity, input_name='MaxPetQuantity')) + if self.NonRefundableFee is not None and 'NonRefundableFee' not in already_processed: + already_processed.add('NonRefundableFee') + outfile.write(' NonRefundableFee="%s"' % self.gds_format_decimal(self.NonRefundableFee, input_name='NonRefundableFee')) + if self.ChargeCode is not None and 'ChargeCode' not in already_processed: + already_processed.add('ChargeCode') + outfile.write(' ChargeCode="%s"' % self.gds_format_integer(self.ChargeCode, input_name='ChargeCode')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Description is not None: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MaxPetQuantity', node) + if value is not None and 'MaxPetQuantity' not in already_processed: + already_processed.add('MaxPetQuantity') + self.MaxPetQuantity = self.gds_parse_integer(value, node, 'MaxPetQuantity') + if self.MaxPetQuantity < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MaxPetQuantity) # validate type def_int_ge0 + value = find_attr_value_('NonRefundableFee', node) + if value is not None and 'NonRefundableFee' not in already_processed: + already_processed.add('NonRefundableFee') + value = self.gds_parse_decimal(value, node, 'NonRefundableFee') + self.NonRefundableFee = value + self.validate_def_decimal_ge0(self.NonRefundableFee) # validate type def_decimal_ge0 + value = find_attr_value_('ChargeCode', node) + if value is not None and 'ChargeCode' not in already_processed: + already_processed.add('ChargeCode') + self.ChargeCode = self.gds_parse_integer(value, node, 'ChargeCode') + if self.ChargeCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.ChargeCode) # validate type def_int_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('DecimalPlaces', node) + if value is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') + if self.DecimalPlaces <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType232.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description = obj_ + obj_.original_tagname_ = 'Description' +# end class PetsPolicyType + + +class DescriptionType232(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType232) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType232.subclass: + return DescriptionType232.subclass(*args_, **kwargs_) + else: + return DescriptionType232(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType232', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType232') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType232': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType232') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType232', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType232'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType232', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType233.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class DescriptionType232 + + +class TextType233(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType233) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType233.subclass: + return TextType233.subclass(*args_, **kwargs_) + else: + return TextType233(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType234(self, value): + # Validate type TextFormatType234, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType234' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType235(self, value): + # Validate type LanguageType235, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType235_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType235_patterns_, )) + validate_LanguageType235_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType233', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType233') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType233': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType233') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType233'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType233', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType234(self.TextFormat) # validate type TextFormatType234 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType235(self.Language) # validate type LanguageType235 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType233 + + +class TaxPoliciesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TaxPolicy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TaxPolicy = TaxPolicy + self.TaxPolicy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TaxPoliciesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TaxPoliciesType.subclass: + return TaxPoliciesType.subclass(*args_, **kwargs_) + else: + return TaxPoliciesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TaxPolicy(self): + return self.TaxPolicy + def set_TaxPolicy(self, TaxPolicy): + self.TaxPolicy = TaxPolicy + def has__content(self): + if ( + self.TaxPolicy is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPoliciesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TaxPoliciesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPoliciesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPoliciesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPoliciesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TaxPolicy is not None: + namespaceprefix_ = self.TaxPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicy_nsprefix_) else '' + self.TaxPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TaxPolicy': + obj_ = TaxPolicyType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TaxPolicy = obj_ + obj_.original_tagname_ = 'TaxPolicy' +# end class TaxPoliciesType + + +class TaxPolicyType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.DecimalPlaces = _cast(int, DecimalPlaces) + self.DecimalPlaces_nsprefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.ChargeFrequency = _cast(None, ChargeFrequency) + self.ChargeFrequency_nsprefix_ = None + self.ChargeUnit = _cast(None, ChargeUnit) + self.ChargeUnit_nsprefix_ = None + self.TaxDescription = TaxDescription + self.TaxDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TaxPolicyType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TaxPolicyType.subclass: + return TaxPolicyType.subclass(*args_, **kwargs_) + else: + return TaxPolicyType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TaxDescription(self): + return self.TaxDescription + def set_TaxDescription(self, TaxDescription): + self.TaxDescription = TaxDescription + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_DecimalPlaces(self): + return self.DecimalPlaces + def set_DecimalPlaces(self, DecimalPlaces): + self.DecimalPlaces = DecimalPlaces + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_ChargeFrequency(self): + return self.ChargeFrequency + def set_ChargeFrequency(self, ChargeFrequency): + self.ChargeFrequency = ChargeFrequency + def get_ChargeUnit(self): + return self.ChargeUnit + def set_ChargeUnit(self, ChargeUnit): + self.ChargeUnit = ChargeUnit + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_CodeType239(self, value): + # Validate type CodeType239, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['3'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeType239' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ChargeFrequencyType(self, value): + # Validate type ChargeFrequencyType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeFrequencyType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ChargeUnitType(self, value): + # Validate type ChargeUnitType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['21'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.TaxDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPolicyType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TaxPolicyType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPolicyType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPolicyType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPolicyType'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.ChargeFrequency is not None and 'ChargeFrequency' not in already_processed: + already_processed.add('ChargeFrequency') + outfile.write(' ChargeFrequency=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeFrequency), input_name='ChargeFrequency')), )) + if self.ChargeUnit is not None and 'ChargeUnit' not in already_processed: + already_processed.add('ChargeUnit') + outfile.write(' ChargeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeUnit), input_name='ChargeUnit')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TaxDescription is not None: + namespaceprefix_ = self.TaxDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxDescription_nsprefix_) else '' + self.TaxDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('DecimalPlaces', node) + if value is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') + if self.DecimalPlaces <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType239(self.Code) # validate type CodeType239 + value = find_attr_value_('ChargeFrequency', node) + if value is not None and 'ChargeFrequency' not in already_processed: + already_processed.add('ChargeFrequency') + self.ChargeFrequency = value + self.validate_ChargeFrequencyType(self.ChargeFrequency) # validate type ChargeFrequencyType + value = find_attr_value_('ChargeUnit', node) + if value is not None and 'ChargeUnit' not in already_processed: + already_processed.add('ChargeUnit') + self.ChargeUnit = value + self.validate_ChargeUnitType(self.ChargeUnit) # validate type ChargeUnitType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TaxDescription': + obj_ = TaxDescriptionType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TaxDescription = obj_ + obj_.original_tagname_ = 'TaxDescription' +# end class TaxPolicyType + + +class TaxDescriptionType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TaxDescriptionType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TaxDescriptionType.subclass: + return TaxDescriptionType.subclass(*args_, **kwargs_) + else: + return TaxDescriptionType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxDescriptionType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TaxDescriptionType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxDescriptionType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxDescriptionType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxDescriptionType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType236.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class TaxDescriptionType + + +class TextType236(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType236) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType236.subclass: + return TextType236.subclass(*args_, **kwargs_) + else: + return TextType236(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType237(self, value): + # Validate type TextFormatType237, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType237' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType238(self, value): + # Validate type LanguageType238, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType238_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType238_patterns_, )) + validate_LanguageType238_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType236', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType236') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType236': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType236') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType236'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType236', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType237(self.TextFormat) # validate type TextFormatType237 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType238(self.Language) # validate type LanguageType238 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType236 + + +class GuaranteePaymentPolicyType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteePayment = GuaranteePayment + self.GuaranteePayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteePaymentPolicyType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteePaymentPolicyType.subclass: + return GuaranteePaymentPolicyType.subclass(*args_, **kwargs_) + else: + return GuaranteePaymentPolicyType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteePayment(self): + return self.GuaranteePayment + def set_GuaranteePayment(self, GuaranteePayment): + self.GuaranteePayment = GuaranteePayment + def has__content(self): + if ( + self.GuaranteePayment is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentPolicyType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteePaymentPolicyType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentPolicyType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentPolicyType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentPolicyType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuaranteePayment is not None: + namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' + self.GuaranteePayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteePayment': + obj_ = GuaranteePaymentType240.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteePayment = obj_ + obj_.original_tagname_ = 'GuaranteePayment' +# end class GuaranteePaymentPolicyType + + +class GuaranteePaymentType240(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AcceptedPayments = AcceptedPayments + self.AcceptedPayments_nsprefix_ = None + self.AmountPercent = AmountPercent + self.AmountPercent_nsprefix_ = None + self.Deadline = Deadline + self.Deadline_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteePaymentType240) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteePaymentType240.subclass: + return GuaranteePaymentType240.subclass(*args_, **kwargs_) + else: + return GuaranteePaymentType240(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayments(self): + return self.AcceptedPayments + def set_AcceptedPayments(self, AcceptedPayments): + self.AcceptedPayments = AcceptedPayments + def get_AmountPercent(self): + return self.AmountPercent + def set_AmountPercent(self, AmountPercent): + self.AmountPercent = AmountPercent + def get_Deadline(self): + return self.Deadline + def set_Deadline(self, Deadline): + self.Deadline = Deadline + def has__content(self): + if ( + self.AcceptedPayments is not None or + self.AmountPercent is not None or + self.Deadline is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType240', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType240') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType240': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType240') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType240', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType240'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType240', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AcceptedPayments is not None: + namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' + self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) + if self.AmountPercent is not None: + namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' + self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) + if self.Deadline is not None: + namespaceprefix_ = self.Deadline_nsprefix_ + ':' if (UseCapturedNS_ and self.Deadline_nsprefix_) else '' + self.Deadline.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Deadline', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayments': + obj_ = AcceptedPaymentsType241.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayments = obj_ + obj_.original_tagname_ = 'AcceptedPayments' + elif nodeName_ == 'AmountPercent': + obj_ = AmountPercentType247.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AmountPercent = obj_ + obj_.original_tagname_ = 'AmountPercent' + elif nodeName_ == 'Deadline': + obj_ = DeadlineType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Deadline = obj_ + obj_.original_tagname_ = 'Deadline' +# end class GuaranteePaymentType240 + + +class AcceptedPaymentsType241(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if AcceptedPayment is None: + self.AcceptedPayment = [] + else: + self.AcceptedPayment = AcceptedPayment + self.AcceptedPayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentsType241) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentsType241.subclass: + return AcceptedPaymentsType241.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentsType241(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayment(self): + return self.AcceptedPayment + def set_AcceptedPayment(self, AcceptedPayment): + self.AcceptedPayment = AcceptedPayment + def add_AcceptedPayment(self, value): + self.AcceptedPayment.append(value) + def insert_AcceptedPayment_at(self, index, value): + self.AcceptedPayment.insert(index, value) + def replace_AcceptedPayment_at(self, index, value): + self.AcceptedPayment[index] = value + def has__content(self): + if ( + self.AcceptedPayment + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType241', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType241') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType241': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType241') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType241', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType241'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType241', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for AcceptedPayment_ in self.AcceptedPayment: + namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' + AcceptedPayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayment': + obj_ = AcceptedPaymentType242.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayment.append(obj_) + obj_.original_tagname_ = 'AcceptedPayment' +# end class AcceptedPaymentsType241 + + +class AcceptedPaymentType242(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BankAcct = BankAcct + self.BankAcct_nsprefix_ = None + self.Cash = Cash + self.Cash_nsprefix_ = None + self.PaymentCard = PaymentCard + self.PaymentCard_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentType242) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentType242.subclass: + return AcceptedPaymentType242.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentType242(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BankAcct(self): + return self.BankAcct + def set_BankAcct(self, BankAcct): + self.BankAcct = BankAcct + def get_Cash(self): + return self.Cash + def set_Cash(self, Cash): + self.Cash = Cash + def get_PaymentCard(self): + return self.PaymentCard + def set_PaymentCard(self, PaymentCard): + self.PaymentCard = PaymentCard + def has__content(self): + if ( + self.BankAcct is not None or + self.Cash is not None or + self.PaymentCard is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType242', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType242') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType242': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType242') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType242', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType242'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType242', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BankAcct is not None: + namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' + self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) + if self.Cash is not None: + namespaceprefix_ = self.Cash_nsprefix_ + ':' if (UseCapturedNS_ and self.Cash_nsprefix_) else '' + self.Cash.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Cash', pretty_print=pretty_print) + if self.PaymentCard is not None: + namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' + self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BankAcct': + obj_ = BankAcctType243.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcct = obj_ + obj_.original_tagname_ = 'BankAcct' + elif nodeName_ == 'Cash': + obj_ = CashType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Cash = obj_ + obj_.original_tagname_ = 'Cash' + elif nodeName_ == 'PaymentCard': + obj_ = PaymentCardType246.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PaymentCard = obj_ + obj_.original_tagname_ = 'PaymentCard' +# end class AcceptedPaymentType242 + + +class BankAcctType243(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BankAcctName = BankAcctName + self.BankAcctName_nsprefix_ = None + self.BankAcctNumber = BankAcctNumber + self.BankAcctNumber_nsprefix_ = None + self.BankID = BankID + self.BankID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctType243) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctType243.subclass: + return BankAcctType243.subclass(*args_, **kwargs_) + else: + return BankAcctType243(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BankAcctName(self): + return self.BankAcctName + def set_BankAcctName(self, BankAcctName): + self.BankAcctName = BankAcctName + def get_BankAcctNumber(self): + return self.BankAcctNumber + def set_BankAcctNumber(self, BankAcctNumber): + self.BankAcctNumber = BankAcctNumber + def get_BankID(self): + return self.BankID + def set_BankID(self, BankID): + self.BankID = BankID + def has__content(self): + if ( + self.BankAcctName is not None or + self.BankAcctNumber is not None or + self.BankID is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType243', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType243') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctType243': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType243') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType243', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType243'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType243', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BankAcctName is not None: + namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' + self.BankAcctName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctName', pretty_print=pretty_print) + if self.BankAcctNumber is not None: + namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' + self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) + if self.BankID is not None: + namespaceprefix_ = self.BankID_nsprefix_ + ':' if (UseCapturedNS_ and self.BankID_nsprefix_) else '' + self.BankID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankID', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BankAcctName': + obj_ = BankAcctNameType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcctName = obj_ + obj_.original_tagname_ = 'BankAcctName' + elif nodeName_ == 'BankAcctNumber': + obj_ = BankAcctNumberType244.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcctNumber = obj_ + obj_.original_tagname_ = 'BankAcctNumber' + elif nodeName_ == 'BankID': + obj_ = BankIDType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankID = obj_ + obj_.original_tagname_ = 'BankID' +# end class BankAcctType243 + + +class BankAcctNameType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctNameType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctNameType.subclass: + return BankAcctNameType.subclass(*args_, **kwargs_) + else: + return BankAcctNameType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNameType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctNameType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNameType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNameType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BankAcctNameType + + +class BankAcctNumberType244(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PlainText = PlainText + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctNumberType244) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctNumberType244.subclass: + return BankAcctNumberType244.subclass(*args_, **kwargs_) + else: + return BankAcctNumberType244(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType244', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType244') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctNumberType244': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType244') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType244', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType244'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType244', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + obj_ = PlainTextType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PlainText = obj_ + obj_.original_tagname_ = 'PlainText' +# end class BankAcctNumberType244 + + +class PlainTextType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PlainTextType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PlainTextType.subclass: + return PlainTextType.subclass(*args_, **kwargs_) + else: + return PlainTextType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_NumericStringLength1to19(self, value): + result = True + # Validate type NumericStringLength1to19, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to19_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) + result = False + return result + validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PlainTextType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PlainTextType + + +class BankIDType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PlainText = PlainText + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankIDType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankIDType.subclass: + return BankIDType.subclass(*args_, **kwargs_) + else: + return BankIDType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankIDType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankIDType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankIDType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankIDType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankIDType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + obj_ = PlainTextType245.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PlainText = obj_ + obj_.original_tagname_ = 'PlainText' +# end class BankIDType + + +class PlainTextType245(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PlainTextType245) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PlainTextType245.subclass: + return PlainTextType245.subclass(*args_, **kwargs_) + else: + return PlainTextType245(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_NumericStringLength1to19(self, value): + result = True + # Validate type NumericStringLength1to19, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to19_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) + result = False + return result + validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType245', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType245') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PlainTextType245': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType245') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType245'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType245', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PlainTextType245 + + +class CashType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CashIndicator=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CashIndicator = _cast(bool, CashIndicator) + self.CashIndicator_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CashType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CashType.subclass: + return CashType.subclass(*args_, **kwargs_) + else: + return CashType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CashIndicator(self): + return self.CashIndicator + def set_CashIndicator(self, CashIndicator): + self.CashIndicator = CashIndicator + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CashType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CashType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CashType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CashType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CashType'): + if self.CashIndicator is not None and 'CashIndicator' not in already_processed: + already_processed.add('CashIndicator') + outfile.write(' CashIndicator="%s"' % self.gds_format_boolean(self.CashIndicator, input_name='CashIndicator')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CashIndicator', node) + if value is not None and 'CashIndicator' not in already_processed: + already_processed.add('CashIndicator') + if value in ('true', '1'): + self.CashIndicator = True + elif value in ('false', '0'): + self.CashIndicator = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.CashIndicator) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CashType + + +class PaymentCardType246(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CardCode=None, CardType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CardCode = _cast(None, CardCode) + self.CardCode_nsprefix_ = None + self.CardType = CardType + self.CardType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PaymentCardType246) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PaymentCardType246.subclass: + return PaymentCardType246.subclass(*args_, **kwargs_) + else: + return PaymentCardType246(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CardType(self): + return self.CardType + def set_CardType(self, CardType): + self.CardType = CardType + def get_CardCode(self): + return self.CardCode + def set_CardCode(self, CardCode): + self.CardCode = CardCode + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.CardType is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType246', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType246') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PaymentCardType246': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType246') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType246', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType246'): + if self.CardCode is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType246', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CardType is not None: + namespaceprefix_ = self.CardType_nsprefix_ + ':' if (UseCapturedNS_ and self.CardType_nsprefix_) else '' + self.CardType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardType', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CardCode', node) + if value is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + self.CardCode = value + self.validate_def_nonempty_string(self.CardCode) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CardType': + obj_ = CardTypeType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CardType = obj_ + obj_.original_tagname_ = 'CardType' +# end class PaymentCardType246 + + +class CardTypeType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CardTypeType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CardTypeType.subclass: + return CardTypeType.subclass(*args_, **kwargs_) + else: + return CardTypeType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardTypeType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CardTypeType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardTypeType') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardTypeType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CardTypeType + + +class AmountPercentType247(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Percent=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Percent = _cast(float, Percent) + self.Percent_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmountPercentType247) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmountPercentType247.subclass: + return AmountPercentType247.subclass(*args_, **kwargs_) + else: + return AmountPercentType247(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Percent(self): + return self.Percent + def set_Percent(self, Percent): + self.Percent = Percent + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType247', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType247') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmountPercentType247': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType247') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType247', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType247'): + if self.Percent is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + outfile.write(' Percent="%s"' % self.gds_format_decimal(self.Percent, input_name='Percent')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType247', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Percent', node) + if value is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + value = self.gds_parse_decimal(value, node, 'Percent') + self.Percent = value + self.validate_def_decimal_gt0(self.Percent) # validate type def_decimal_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AmountPercentType247 + + +class DeadlineType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.OffsetDropTime = _cast(None, OffsetDropTime) + self.OffsetDropTime_nsprefix_ = None + self.OffsetTimeUnit = _cast(None, OffsetTimeUnit) + self.OffsetTimeUnit_nsprefix_ = None + self.OffsetUnitMultiplier = _cast(int, OffsetUnitMultiplier) + self.OffsetUnitMultiplier_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DeadlineType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DeadlineType.subclass: + return DeadlineType.subclass(*args_, **kwargs_) + else: + return DeadlineType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_OffsetDropTime(self): + return self.OffsetDropTime + def set_OffsetDropTime(self, OffsetDropTime): + self.OffsetDropTime = OffsetDropTime + def get_OffsetTimeUnit(self): + return self.OffsetTimeUnit + def set_OffsetTimeUnit(self, OffsetTimeUnit): + self.OffsetTimeUnit = OffsetTimeUnit + def get_OffsetUnitMultiplier(self): + return self.OffsetUnitMultiplier + def set_OffsetUnitMultiplier(self, OffsetUnitMultiplier): + self.OffsetUnitMultiplier = OffsetUnitMultiplier + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_TimeUnitType(self, value): + # Validate type TimeUnitType, a restriction on StringLength1to16. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Year', 'Month', 'Week', 'Day', 'Hour', 'Second', 'FullDuration', 'Minute'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on TimeUnitType' % {"value": value, "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on TimeUnitType' % {"value" : value, "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DeadlineType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DeadlineType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DeadlineType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DeadlineType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DeadlineType'): + if self.OffsetDropTime is not None and 'OffsetDropTime' not in already_processed: + already_processed.add('OffsetDropTime') + outfile.write(' OffsetDropTime=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.OffsetDropTime), input_name='OffsetDropTime')), )) + if self.OffsetTimeUnit is not None and 'OffsetTimeUnit' not in already_processed: + already_processed.add('OffsetTimeUnit') + outfile.write(' OffsetTimeUnit=%s' % (quote_attrib(self.OffsetTimeUnit), )) + if self.OffsetUnitMultiplier is not None and 'OffsetUnitMultiplier' not in already_processed: + already_processed.add('OffsetUnitMultiplier') + outfile.write(' OffsetUnitMultiplier="%s"' % self.gds_format_integer(self.OffsetUnitMultiplier, input_name='OffsetUnitMultiplier')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('OffsetDropTime', node) + if value is not None and 'OffsetDropTime' not in already_processed: + already_processed.add('OffsetDropTime') + self.OffsetDropTime = value + self.validate_def_nonempty_string(self.OffsetDropTime) # validate type def_nonempty_string + value = find_attr_value_('OffsetTimeUnit', node) + if value is not None and 'OffsetTimeUnit' not in already_processed: + already_processed.add('OffsetTimeUnit') + self.OffsetTimeUnit = value + self.validate_TimeUnitType(self.OffsetTimeUnit) # validate type TimeUnitType + value = find_attr_value_('OffsetUnitMultiplier', node) + if value is not None and 'OffsetUnitMultiplier' not in already_processed: + already_processed.add('OffsetUnitMultiplier') + self.OffsetUnitMultiplier = self.gds_parse_integer(value, node, 'OffsetUnitMultiplier') + if self.OffsetUnitMultiplier < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.OffsetUnitMultiplier) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DeadlineType + + +class PolicyInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MinGuestAge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MinGuestAge = _cast(int, MinGuestAge) + self.MinGuestAge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PolicyInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PolicyInfoType.subclass: + return PolicyInfoType.subclass(*args_, **kwargs_) + else: + return PolicyInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MinGuestAge(self): + return self.MinGuestAge + def set_MinGuestAge(self, MinGuestAge): + self.MinGuestAge = MinGuestAge + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PolicyInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyInfoType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyInfoType'): + if self.MinGuestAge is not None and 'MinGuestAge' not in already_processed: + already_processed.add('MinGuestAge') + outfile.write(' MinGuestAge="%s"' % self.gds_format_integer(self.MinGuestAge, input_name='MinGuestAge')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MinGuestAge', node) + if value is not None and 'MinGuestAge' not in already_processed: + already_processed.add('MinGuestAge') + self.MinGuestAge = self.gds_parse_integer(value, node, 'MinGuestAge') + if self.MinGuestAge < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MinGuestAge) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PolicyInfoType + + +class StayRequirementsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StayRequirement=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if StayRequirement is None: + self.StayRequirement = [] + else: + self.StayRequirement = StayRequirement + self.StayRequirement_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StayRequirementsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StayRequirementsType.subclass: + return StayRequirementsType.subclass(*args_, **kwargs_) + else: + return StayRequirementsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StayRequirement(self): + return self.StayRequirement + def set_StayRequirement(self, StayRequirement): + self.StayRequirement = StayRequirement + def add_StayRequirement(self, value): + self.StayRequirement.append(value) + def insert_StayRequirement_at(self, index, value): + self.StayRequirement.insert(index, value) + def replace_StayRequirement_at(self, index, value): + self.StayRequirement[index] = value + def has__content(self): + if ( + self.StayRequirement + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StayRequirementsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for StayRequirement_ in self.StayRequirement: + namespaceprefix_ = self.StayRequirement_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirement_nsprefix_) else '' + StayRequirement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirement', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'StayRequirement': + obj_ = StayRequirementType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StayRequirement.append(obj_) + obj_.original_tagname_ = 'StayRequirement' +# end class StayRequirementsType + + +class StayRequirementType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StayContext=None, Start=None, End=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.StayContext = _cast(None, StayContext) + self.StayContext_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StayRequirementType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StayRequirementType.subclass: + return StayRequirementType.subclass(*args_, **kwargs_) + else: + return StayRequirementType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StayContext(self): + return self.StayContext + def set_StayContext(self, StayContext): + self.StayContext = StayContext + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_StayContextType(self, value): + # Validate type StayContextType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Checkin', 'Checkout'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StayContextType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StartType(self, value): + # Validate type StartType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_StartType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_StartType_patterns_, )) + validate_StartType_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] + def validate_EndType(self, value): + # Validate type EndType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_EndType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_EndType_patterns_, )) + validate_EndType_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StayRequirementType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementType'): + if self.StayContext is not None and 'StayContext' not in already_processed: + already_processed.add('StayContext') + outfile.write(' StayContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StayContext), input_name='StayContext')), )) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.End), input_name='End')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('StayContext', node) + if value is not None and 'StayContext' not in already_processed: + already_processed.add('StayContext') + self.StayContext = value + self.validate_StayContextType(self.StayContext) # validate type StayContextType + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + self.Start = value + self.validate_StartType(self.Start) # validate type StartType + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + self.End = value + self.validate_EndType(self.End) # validate type EndType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class StayRequirementType + + +class AffiliationInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Awards=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Awards = Awards + self.Awards_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AffiliationInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AffiliationInfoType.subclass: + return AffiliationInfoType.subclass(*args_, **kwargs_) + else: + return AffiliationInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Awards(self): + return self.Awards + def set_Awards(self, Awards): + self.Awards = Awards + def has__content(self): + if ( + self.Awards is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AffiliationInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AffiliationInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AffiliationInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AffiliationInfoType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AffiliationInfoType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Awards is not None: + namespaceprefix_ = self.Awards_nsprefix_ + ':' if (UseCapturedNS_ and self.Awards_nsprefix_) else '' + self.Awards.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Awards', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Awards': + obj_ = AwardsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Awards = obj_ + obj_.original_tagname_ = 'Awards' +# end class AffiliationInfoType + + +class AwardsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Award=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Award is None: + self.Award = [] + else: + self.Award = Award + self.Award_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AwardsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AwardsType.subclass: + return AwardsType.subclass(*args_, **kwargs_) + else: + return AwardsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Award(self): + return self.Award + def set_Award(self, Award): + self.Award = Award + def add_Award(self, value): + self.Award.append(value) + def insert_Award_at(self, index, value): + self.Award.insert(index, value) + def replace_Award_at(self, index, value): + self.Award[index] = value + def has__content(self): + if ( + self.Award + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AwardsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Award_ in self.Award: + namespaceprefix_ = self.Award_nsprefix_ + ':' if (UseCapturedNS_ and self.Award_nsprefix_) else '' + Award_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Award', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Award': + obj_ = AwardType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Award.append(obj_) + obj_.original_tagname_ = 'Award' +# end class AwardsType + + +class AwardType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Rating = _cast(float, Rating) + self.Rating_nsprefix_ = None + self.Provider = _cast(None, Provider) + self.Provider_nsprefix_ = None + self.RatingSymbol = _cast(None, RatingSymbol) + self.RatingSymbol_nsprefix_ = None + self.OfficialAppointmentInd = _cast(bool, OfficialAppointmentInd) + self.OfficialAppointmentInd_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AwardType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AwardType.subclass: + return AwardType.subclass(*args_, **kwargs_) + else: + return AwardType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rating(self): + return self.Rating + def set_Rating(self, Rating): + self.Rating = Rating + def get_Provider(self): + return self.Provider + def set_Provider(self, Provider): + self.Provider = Provider + def get_RatingSymbol(self): + return self.RatingSymbol + def set_RatingSymbol(self, RatingSymbol): + self.RatingSymbol = RatingSymbol + def get_OfficialAppointmentInd(self): + return self.OfficialAppointmentInd + def set_OfficialAppointmentInd(self, OfficialAppointmentInd): + self.OfficialAppointmentInd = OfficialAppointmentInd + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AwardType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardType'): + if self.Rating is not None and 'Rating' not in already_processed: + already_processed.add('Rating') + outfile.write(' Rating="%s"' % self.gds_format_decimal(self.Rating, input_name='Rating')) + if self.Provider is not None and 'Provider' not in already_processed: + already_processed.add('Provider') + outfile.write(' Provider=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Provider), input_name='Provider')), )) + if self.RatingSymbol is not None and 'RatingSymbol' not in already_processed: + already_processed.add('RatingSymbol') + outfile.write(' RatingSymbol=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatingSymbol), input_name='RatingSymbol')), )) + if self.OfficialAppointmentInd is not None and 'OfficialAppointmentInd' not in already_processed: + already_processed.add('OfficialAppointmentInd') + outfile.write(' OfficialAppointmentInd="%s"' % self.gds_format_boolean(self.OfficialAppointmentInd, input_name='OfficialAppointmentInd')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Rating', node) + if value is not None and 'Rating' not in already_processed: + already_processed.add('Rating') + value = self.gds_parse_decimal(value, node, 'Rating') + self.Rating = value + self.validate_def_decimal_ge0(self.Rating) # validate type def_decimal_ge0 + value = find_attr_value_('Provider', node) + if value is not None and 'Provider' not in already_processed: + already_processed.add('Provider') + self.Provider = value + self.validate_def_nonempty_string(self.Provider) # validate type def_nonempty_string + value = find_attr_value_('RatingSymbol', node) + if value is not None and 'RatingSymbol' not in already_processed: + already_processed.add('RatingSymbol') + self.RatingSymbol = value + self.validate_def_nonempty_string(self.RatingSymbol) # validate type def_nonempty_string + value = find_attr_value_('OfficialAppointmentInd', node) + if value is not None and 'OfficialAppointmentInd' not in already_processed: + already_processed.add('OfficialAppointmentInd') + if value in ('true', '1'): + self.OfficialAppointmentInd = True + elif value in ('false', '0'): + self.OfficialAppointmentInd = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.OfficialAppointmentInd) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AwardType + + +class ContactInfosType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ContactInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ContactInfo = ContactInfo + self.ContactInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ContactInfosType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ContactInfosType.subclass: + return ContactInfosType.subclass(*args_, **kwargs_) + else: + return ContactInfosType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ContactInfo(self): + return self.ContactInfo + def set_ContactInfo(self, ContactInfo): + self.ContactInfo = ContactInfo + def has__content(self): + if ( + self.ContactInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfosType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ContactInfosType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfosType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfosType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfosType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ContactInfo is not None: + namespaceprefix_ = self.ContactInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfo_nsprefix_) else '' + self.ContactInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ContactInfo': + obj_ = ContactInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ContactInfo = obj_ + obj_.original_tagname_ = 'ContactInfo' +# end class ContactInfosType + + +class ContactInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Location = _cast(None, Location) + self.Location_nsprefix_ = None + self.Addresses = Addresses + self.Addresses_nsprefix_ = None + self.Phones = Phones + self.Phones_nsprefix_ = None + self.Emails = Emails + self.Emails_nsprefix_ = None + self.URLs = URLs + self.URLs_nsprefix_ = None + self.CompanyName = CompanyName + self.CompanyName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ContactInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ContactInfoType.subclass: + return ContactInfoType.subclass(*args_, **kwargs_) + else: + return ContactInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Addresses(self): + return self.Addresses + def set_Addresses(self, Addresses): + self.Addresses = Addresses + def get_Phones(self): + return self.Phones + def set_Phones(self, Phones): + self.Phones = Phones + def get_Emails(self): + return self.Emails + def set_Emails(self, Emails): + self.Emails = Emails + def get_URLs(self): + return self.URLs + def set_URLs(self, URLs): + self.URLs = URLs + def get_CompanyName(self): + return self.CompanyName + def set_CompanyName(self, CompanyName): + self.CompanyName = CompanyName + def get_Location(self): + return self.Location + def set_Location(self, Location): + self.Location = Location + def validate_LocationType256(self, value): + # Validate type LocationType256, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['6'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on LocationType256' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Addresses is not None or + self.Phones is not None or + self.Emails is not None or + self.URLs is not None or + self.CompanyName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ContactInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfoType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfoType'): + if self.Location is not None and 'Location' not in already_processed: + already_processed.add('Location') + outfile.write(' Location=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Location), input_name='Location')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Addresses is not None: + namespaceprefix_ = self.Addresses_nsprefix_ + ':' if (UseCapturedNS_ and self.Addresses_nsprefix_) else '' + self.Addresses.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Addresses', pretty_print=pretty_print) + if self.Phones is not None: + namespaceprefix_ = self.Phones_nsprefix_ + ':' if (UseCapturedNS_ and self.Phones_nsprefix_) else '' + self.Phones.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phones', pretty_print=pretty_print) + if self.Emails is not None: + namespaceprefix_ = self.Emails_nsprefix_ + ':' if (UseCapturedNS_ and self.Emails_nsprefix_) else '' + self.Emails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Emails', pretty_print=pretty_print) + if self.URLs is not None: + namespaceprefix_ = self.URLs_nsprefix_ + ':' if (UseCapturedNS_ and self.URLs_nsprefix_) else '' + self.URLs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URLs', pretty_print=pretty_print) + if self.CompanyName is not None: + namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' + self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Location', node) + if value is not None and 'Location' not in already_processed: + already_processed.add('Location') + self.Location = value + self.validate_LocationType256(self.Location) # validate type LocationType256 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Addresses': + obj_ = AddressesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Addresses = obj_ + obj_.original_tagname_ = 'Addresses' + elif nodeName_ == 'Phones': + obj_ = PhonesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Phones = obj_ + obj_.original_tagname_ = 'Phones' + elif nodeName_ == 'Emails': + obj_ = EmailsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Emails = obj_ + obj_.original_tagname_ = 'Emails' + elif nodeName_ == 'URLs': + obj_ = URLsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.URLs = obj_ + obj_.original_tagname_ = 'URLs' + elif nodeName_ == 'CompanyName': + obj_ = CompanyNameType255.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CompanyName = obj_ + obj_.original_tagname_ = 'CompanyName' +# end class ContactInfoType + + +class AddressesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Address=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Address is None: + self.Address = [] + else: + self.Address = Address + self.Address_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressesType.subclass: + return AddressesType.subclass(*args_, **kwargs_) + else: + return AddressesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Address(self): + return self.Address + def set_Address(self, Address): + self.Address = Address + def add_Address(self, value): + self.Address.append(value) + def insert_Address_at(self, index, value): + self.Address.insert(index, value) + def replace_Address_at(self, index, value): + self.Address[index] = value + def has__content(self): + if ( + self.Address + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Address_ in self.Address: + namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' + Address_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Address': + obj_ = AddressType248.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Address.append(obj_) + obj_.original_tagname_ = 'Address' +# end class AddressesType + + +class AddressType248(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.AddressLine = AddressLine + self.validate_StringLength1to255(self.AddressLine) + self.AddressLine_nsprefix_ = None + self.CityName = CityName + self.validate_StringLength1to64(self.CityName) + self.CityName_nsprefix_ = None + self.PostalCode = PostalCode + self.validate_StringLength1to16(self.PostalCode) + self.PostalCode_nsprefix_ = None + self.StateProv = StateProv + self.StateProv_nsprefix_ = None + self.CountryName = CountryName + self.CountryName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressType248) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressType248.subclass: + return AddressType248.subclass(*args_, **kwargs_) + else: + return AddressType248(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AddressLine(self): + return self.AddressLine + def set_AddressLine(self, AddressLine): + self.AddressLine = AddressLine + def get_CityName(self): + return self.CityName + def set_CityName(self, CityName): + self.CityName = CityName + def get_PostalCode(self): + return self.PostalCode + def set_PostalCode(self, PostalCode): + self.PostalCode = PostalCode + def get_StateProv(self): + return self.StateProv + def set_StateProv(self, StateProv): + self.StateProv = StateProv + def get_CountryName(self): + return self.CountryName + def set_CountryName(self, CountryName): + self.CountryName = CountryName + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def validate_StringLength1to255(self, value): + result = True + # Validate type StringLength1to255, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 255: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_LanguageType251(self, value): + # Validate type LanguageType251, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType251_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType251_patterns_, )) + validate_LanguageType251_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + self.AddressLine is not None or + self.CityName is not None or + self.PostalCode is not None or + self.StateProv is not None or + self.CountryName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType248', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType248') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressType248': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType248') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType248', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType248'): + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType248', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AddressLine is not None: + namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) + if self.CityName is not None: + namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) + if self.PostalCode is not None: + namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) + if self.StateProv is not None: + namespaceprefix_ = self.StateProv_nsprefix_ + ':' if (UseCapturedNS_ and self.StateProv_nsprefix_) else '' + self.StateProv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StateProv', pretty_print=pretty_print) + if self.CountryName is not None: + namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' + self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType251(self.Language) # validate type LanguageType251 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AddressLine': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine') + value_ = self.gds_validate_string(value_, node, 'AddressLine') + self.AddressLine = value_ + self.AddressLine_nsprefix_ = child_.prefix + # validate type StringLength1to255 + self.validate_StringLength1to255(self.AddressLine) + elif nodeName_ == 'CityName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CityName') + value_ = self.gds_validate_string(value_, node, 'CityName') + self.CityName = value_ + self.CityName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CityName) + elif nodeName_ == 'PostalCode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PostalCode') + value_ = self.gds_validate_string(value_, node, 'PostalCode') + self.PostalCode = value_ + self.PostalCode_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.PostalCode) + elif nodeName_ == 'StateProv': + obj_ = StateProvType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StateProv = obj_ + obj_.original_tagname_ = 'StateProv' + elif nodeName_ == 'CountryName': + obj_ = CountryNameType249.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CountryName = obj_ + obj_.original_tagname_ = 'CountryName' +# end class AddressType248 + + +class StateProvType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StateCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.StateCode = _cast(None, StateCode) + self.StateCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StateProvType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StateProvType.subclass: + return StateProvType.subclass(*args_, **kwargs_) + else: + return StateProvType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StateCode(self): + return self.StateCode + def set_StateCode(self, StateCode): + self.StateCode = StateCode + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StateProvType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StateProvType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StateProvType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StateProvType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StateProvType'): + if self.StateCode is not None and 'StateCode' not in already_processed: + already_processed.add('StateCode') + outfile.write(' StateCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StateCode), input_name='StateCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('StateCode', node) + if value is not None and 'StateCode' not in already_processed: + already_processed.add('StateCode') + self.StateCode = value + self.validate_def_nonempty_string(self.StateCode) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class StateProvType + + +class CountryNameType249(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CountryNameType249) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CountryNameType249.subclass: + return CountryNameType249.subclass(*args_, **kwargs_) + else: + return CountryNameType249(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def validate_CodeType250(self, value): + # Validate type CodeType250, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CodeType250_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType250_patterns_, )) + validate_CodeType250_patterns_ = [['^([A-Z][A-Z])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType249', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType249') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CountryNameType249': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType249') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType249', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType249'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType249', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType250(self.Code) # validate type CodeType250 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CountryNameType249 + + +class PhonesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Phone=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Phone is None: + self.Phone = [] + else: + self.Phone = Phone + self.Phone_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PhonesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PhonesType.subclass: + return PhonesType.subclass(*args_, **kwargs_) + else: + return PhonesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Phone(self): + return self.Phone + def set_Phone(self, Phone): + self.Phone = Phone + def add_Phone(self, value): + self.Phone.append(value) + def insert_Phone_at(self, index, value): + self.Phone.insert(index, value) + def replace_Phone_at(self, index, value): + self.Phone[index] = value + def has__content(self): + if ( + self.Phone + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhonesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PhonesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhonesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhonesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhonesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Phone_ in self.Phone: + namespaceprefix_ = self.Phone_nsprefix_ + ':' if (UseCapturedNS_ and self.Phone_nsprefix_) else '' + Phone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phone', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Phone': + obj_ = PhoneType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Phone.append(obj_) + obj_.original_tagname_ = 'Phone' +# end class PhonesType + + +class PhoneType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PhoneTechType = _cast(None, PhoneTechType) + self.PhoneTechType_nsprefix_ = None + self.PhoneNumber = _cast(None, PhoneNumber) + self.PhoneNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PhoneType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PhoneType.subclass: + return PhoneType.subclass(*args_, **kwargs_) + else: + return PhoneType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PhoneTechType(self): + return self.PhoneTechType + def set_PhoneTechType(self, PhoneTechType): + self.PhoneTechType = PhoneTechType + def get_PhoneNumber(self): + return self.PhoneNumber + def set_PhoneNumber(self, PhoneNumber): + self.PhoneNumber = PhoneNumber + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_PhoneNumberType252(self, value): + # Validate type PhoneNumberType252, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneNumberType252_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType252_patterns_, )) + validate_PhoneNumberType252_patterns_ = [['^(\\+?[0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhoneType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PhoneType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhoneType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhoneType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhoneType'): + if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) + if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('PhoneTechType', node) + if value is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + self.PhoneTechType = value + self.validate_def_nonempty_string(self.PhoneTechType) # validate type def_nonempty_string + value = find_attr_value_('PhoneNumber', node) + if value is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + self.PhoneNumber = value + self.validate_PhoneNumberType252(self.PhoneNumber) # validate type PhoneNumberType252 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PhoneType + + +class EmailsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Email=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Email is None: + self.Email = [] + else: + self.Email = Email + self.Email_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EmailsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EmailsType.subclass: + return EmailsType.subclass(*args_, **kwargs_) + else: + return EmailsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Email(self): + return self.Email + def set_Email(self, Email): + self.Email = Email + def add_Email(self, value): + self.Email.append(value) + def insert_Email_at(self, index, value): + self.Email.insert(index, value) + def replace_Email_at(self, index, value): + self.Email[index] = value + def has__content(self): + if ( + self.Email + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EmailsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EmailsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Email_ in self.Email: + namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' + Email_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Email': + obj_ = EmailType253.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Email.append(obj_) + obj_.original_tagname_ = 'Email' +# end class EmailsType + + +class EmailType253(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EmailType=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EmailType = _cast(None, EmailType) + self.EmailType_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EmailType253) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EmailType253.subclass: + return EmailType253.subclass(*args_, **kwargs_) + else: + return EmailType253(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EmailType(self): + return self.EmailType + def set_EmailType(self, EmailType): + self.EmailType = EmailType + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType253', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType253') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EmailType253': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType253') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType253'): + if self.EmailType is not None and 'EmailType' not in already_processed: + already_processed.add('EmailType') + outfile.write(' EmailType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmailType), input_name='EmailType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType253', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EmailType', node) + if value is not None and 'EmailType' not in already_processed: + already_processed.add('EmailType') + self.EmailType = value + self.validate_def_nonempty_string(self.EmailType) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class EmailType253 + + +class URLsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if URL is None: + self.URL = [] + else: + self.URL = URL + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, URLsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if URLsType.subclass: + return URLsType.subclass(*args_, **kwargs_) + else: + return URLsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def add_URL(self, value): + self.URL.append(value) + def insert_URL_at(self, index, value): + self.URL.insert(index, value) + def replace_URL_at(self, index, value): + self.URL[index] = value + def has__content(self): + if ( + self.URL + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'URLsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='URLsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for URL_ in self.URL: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + URL_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URL', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + obj_ = URLType254.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.URL.append(obj_) + obj_.original_tagname_ = 'URL' +# end class URLsType + + +class URLType254(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, URLType254) + if subclass is not None: + return subclass(*args_, **kwargs_) + if URLType254.subclass: + return URLType254.subclass(*args_, **kwargs_) + else: + return URLType254(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_uppercase_string(self, value): + # Validate type def_uppercase_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_uppercase_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_uppercase_string_patterns_, )) + validate_def_uppercase_string_patterns_ = [['^([A-Z]+)$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType254', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType254') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'URLType254': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType254') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType254'): + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType254', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_def_uppercase_string(self.ID) # validate type def_uppercase_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class URLType254 + + +class CompanyNameType255(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CompanyNameType255) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CompanyNameType255.subclass: + return CompanyNameType255.subclass(*args_, **kwargs_) + else: + return CompanyNameType255(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_any_string(self, value): + result = True + # Validate type def_any_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_any_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType255', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType255') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CompanyNameType255': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType255') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType255'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType255', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CompanyNameType255 + + +class ErrorsType257(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType257) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType257.subclass: + return ErrorsType257.subclass(*args_, **kwargs_) + else: + return ErrorsType257(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType257', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType257') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType257': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType257') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType257', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType257'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType257', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType258.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType257 + + +class ErrorType258(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType258) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType258.subclass: + return ErrorType258.subclass(*args_, **kwargs_) + else: + return ErrorType258(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType259(self, value): + # Validate type TypeType259, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType259' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType258', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType258') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType258': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType258') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType258'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType258', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType259(self.Type) # validate type TypeType259 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType258 + + +class WarningsType260(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType260) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType260.subclass: + return WarningsType260.subclass(*args_, **kwargs_) + else: + return WarningsType260(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType260', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType260') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType260': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType260') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType260', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType260'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType260', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType261.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType260 + + +class WarningType261(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType261) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType261.subclass: + return WarningType261.subclass(*args_, **kwargs_) + else: + return WarningType261(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType261', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType261') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType261': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType261') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType261'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType261', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType261 + + +class HotelDescriptiveInfosType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelDescriptiveInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelDescriptiveInfo = HotelDescriptiveInfo + self.HotelDescriptiveInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelDescriptiveInfosType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelDescriptiveInfosType.subclass: + return HotelDescriptiveInfosType.subclass(*args_, **kwargs_) + else: + return HotelDescriptiveInfosType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelDescriptiveInfo(self): + return self.HotelDescriptiveInfo + def set_HotelDescriptiveInfo(self, HotelDescriptiveInfo): + self.HotelDescriptiveInfo = HotelDescriptiveInfo + def has__content(self): + if ( + self.HotelDescriptiveInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveInfosType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveInfosType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelDescriptiveInfosType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveInfosType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveInfosType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveInfosType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveInfosType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelDescriptiveInfo is not None: + namespaceprefix_ = self.HotelDescriptiveInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveInfo_nsprefix_) else '' + self.HotelDescriptiveInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelDescriptiveInfo': + obj_ = HotelDescriptiveInfoType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelDescriptiveInfo = obj_ + obj_.original_tagname_ = 'HotelDescriptiveInfo' +# end class HotelDescriptiveInfosType + + +class HotelDescriptiveInfoType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelDescriptiveInfoType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelDescriptiveInfoType.subclass: + return HotelDescriptiveInfoType.subclass(*args_, **kwargs_) + else: + return HotelDescriptiveInfoType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelDescriptiveInfoType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveInfoType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelDescriptiveInfoType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveInfoType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveInfoType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveInfoType'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelDescriptiveInfoType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class HotelDescriptiveInfoType + + +class ErrorsType262(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType262) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType262.subclass: + return ErrorsType262.subclass(*args_, **kwargs_) + else: + return ErrorsType262(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType262', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType262') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType262': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType262') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType262', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType262'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType262', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType263.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType262 + + +class ErrorType263(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType263) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType263.subclass: + return ErrorType263.subclass(*args_, **kwargs_) + else: + return ErrorType263(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType264(self, value): + # Validate type TypeType264, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType264' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType263', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType263') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType263': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType263') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType263'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType263', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType264(self.Type) # validate type TypeType264 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType263 + + +class WarningsType265(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType265) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType265.subclass: + return WarningsType265.subclass(*args_, **kwargs_) + else: + return WarningsType265(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType265', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType265') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType265': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType265') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType265', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType265'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType265', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType266.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType265 + + +class WarningType266(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType266) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType266.subclass: + return WarningType266.subclass(*args_, **kwargs_) + else: + return WarningType266(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType266', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType266') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType266': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType266') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType266'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType266', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType266 + + +class HotelDescriptiveContentsType267(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelDescriptiveContent=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelDescriptiveContent = HotelDescriptiveContent + self.HotelDescriptiveContent_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelDescriptiveContentsType267) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelDescriptiveContentsType267.subclass: + return HotelDescriptiveContentsType267.subclass(*args_, **kwargs_) + else: + return HotelDescriptiveContentsType267(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelDescriptiveContent(self): + return self.HotelDescriptiveContent + def set_HotelDescriptiveContent(self, HotelDescriptiveContent): + self.HotelDescriptiveContent = HotelDescriptiveContent + def has__content(self): + if ( + self.HotelDescriptiveContent is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType267', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentsType267') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentsType267': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentsType267') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentsType267', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentsType267'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType267', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelDescriptiveContent is not None: + namespaceprefix_ = self.HotelDescriptiveContent_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContent_nsprefix_) else '' + self.HotelDescriptiveContent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContent', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelDescriptiveContent': + obj_ = HotelDescriptiveContentType268.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelDescriptiveContent = obj_ + obj_.original_tagname_ = 'HotelDescriptiveContent' +# end class HotelDescriptiveContentsType267 + + +class HotelDescriptiveContentType268(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCityCode = _cast(None, HotelCityCode) + self.HotelCityCode_nsprefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + self.AreaID = _cast(None, AreaID) + self.AreaID_nsprefix_ = None + self.HotelInfo = HotelInfo + self.HotelInfo_nsprefix_ = None + self.FacilityInfo = FacilityInfo + self.FacilityInfo_nsprefix_ = None + self.Policies = Policies + self.Policies_nsprefix_ = None + self.AffiliationInfo = AffiliationInfo + self.AffiliationInfo_nsprefix_ = None + self.ContactInfos = ContactInfos + self.ContactInfos_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelDescriptiveContentType268) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelDescriptiveContentType268.subclass: + return HotelDescriptiveContentType268.subclass(*args_, **kwargs_) + else: + return HotelDescriptiveContentType268(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelInfo(self): + return self.HotelInfo + def set_HotelInfo(self, HotelInfo): + self.HotelInfo = HotelInfo + def get_FacilityInfo(self): + return self.FacilityInfo + def set_FacilityInfo(self, FacilityInfo): + self.FacilityInfo = FacilityInfo + def get_Policies(self): + return self.Policies + def set_Policies(self, Policies): + self.Policies = Policies + def get_AffiliationInfo(self): + return self.AffiliationInfo + def set_AffiliationInfo(self, AffiliationInfo): + self.AffiliationInfo = AffiliationInfo + def get_ContactInfos(self): + return self.ContactInfos + def set_ContactInfos(self, ContactInfos): + self.ContactInfos = ContactInfos + def get_HotelCityCode(self): + return self.HotelCityCode + def set_HotelCityCode(self, HotelCityCode): + self.HotelCityCode = HotelCityCode + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def get_AreaID(self): + return self.AreaID + def set_AreaID(self, AreaID): + self.AreaID = AreaID + def validate_StringLength1to8(self, value): + # Validate type StringLength1to8, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_NumericStringLength1to8(self, value): + # Validate type NumericStringLength1to8, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to8_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to8_patterns_, )) + validate_NumericStringLength1to8_patterns_ = [['^([0-9]{1,8})$']] + def has__content(self): + if ( + self.HotelInfo is not None or + self.FacilityInfo is not None or + self.Policies is not None or + self.AffiliationInfo is not None or + self.ContactInfos is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType268', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentType268') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentType268': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentType268') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentType268', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentType268'): + if self.HotelCityCode is not None and 'HotelCityCode' not in already_processed: + already_processed.add('HotelCityCode') + outfile.write(' HotelCityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCityCode), input_name='HotelCityCode')), )) + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + if self.AreaID is not None and 'AreaID' not in already_processed: + already_processed.add('AreaID') + outfile.write(' AreaID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AreaID), input_name='AreaID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType268', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelInfo is not None: + namespaceprefix_ = self.HotelInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelInfo_nsprefix_) else '' + self.HotelInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelInfo', pretty_print=pretty_print) + if self.FacilityInfo is not None: + namespaceprefix_ = self.FacilityInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.FacilityInfo_nsprefix_) else '' + self.FacilityInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FacilityInfo', pretty_print=pretty_print) + if self.Policies is not None: + namespaceprefix_ = self.Policies_nsprefix_ + ':' if (UseCapturedNS_ and self.Policies_nsprefix_) else '' + self.Policies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policies', pretty_print=pretty_print) + if self.AffiliationInfo is not None: + namespaceprefix_ = self.AffiliationInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AffiliationInfo_nsprefix_) else '' + self.AffiliationInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AffiliationInfo', pretty_print=pretty_print) + if self.ContactInfos is not None: + namespaceprefix_ = self.ContactInfos_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfos_nsprefix_) else '' + self.ContactInfos.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfos', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCityCode', node) + if value is not None and 'HotelCityCode' not in already_processed: + already_processed.add('HotelCityCode') + self.HotelCityCode = value + self.validate_StringLength1to8(self.HotelCityCode) # validate type StringLength1to8 + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + value = find_attr_value_('AreaID', node) + if value is not None and 'AreaID' not in already_processed: + already_processed.add('AreaID') + self.AreaID = value + self.validate_NumericStringLength1to8(self.AreaID) # validate type NumericStringLength1to8 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelInfo': + obj_ = HotelInfoType269.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelInfo = obj_ + obj_.original_tagname_ = 'HotelInfo' + elif nodeName_ == 'FacilityInfo': + obj_ = FacilityInfoType305.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FacilityInfo = obj_ + obj_.original_tagname_ = 'FacilityInfo' + elif nodeName_ == 'Policies': + obj_ = PoliciesType326.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Policies = obj_ + obj_.original_tagname_ = 'Policies' + elif nodeName_ == 'AffiliationInfo': + obj_ = AffiliationInfoType376.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AffiliationInfo = obj_ + obj_.original_tagname_ = 'AffiliationInfo' + elif nodeName_ == 'ContactInfos': + obj_ = ContactInfosType379.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ContactInfos = obj_ + obj_.original_tagname_ = 'ContactInfos' +# end class HotelDescriptiveContentType268 + + +class HotelInfoType269(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelStatusCode = _cast(int, HotelStatusCode) + self.HotelStatusCode_nsprefix_ = None + self.CategoryCodes = CategoryCodes + self.CategoryCodes_nsprefix_ = None + self.Descriptions = Descriptions + self.Descriptions_nsprefix_ = None + self.Position = Position + self.Position_nsprefix_ = None + self.Services = Services + self.Services_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelInfoType269) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelInfoType269.subclass: + return HotelInfoType269.subclass(*args_, **kwargs_) + else: + return HotelInfoType269(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CategoryCodes(self): + return self.CategoryCodes + def set_CategoryCodes(self, CategoryCodes): + self.CategoryCodes = CategoryCodes + def get_Descriptions(self): + return self.Descriptions + def set_Descriptions(self, Descriptions): + self.Descriptions = Descriptions + def get_Position(self): + return self.Position + def set_Position(self, Position): + self.Position = Position + def get_Services(self): + return self.Services + def set_Services(self, Services): + self.Services = Services + def get_HotelStatusCode(self): + return self.HotelStatusCode + def set_HotelStatusCode(self, HotelStatusCode): + self.HotelStatusCode = HotelStatusCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.CategoryCodes is not None or + self.Descriptions is not None or + self.Position is not None or + self.Services is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType269', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelInfoType269') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelInfoType269': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelInfoType269') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelInfoType269', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelInfoType269'): + if self.HotelStatusCode is not None and 'HotelStatusCode' not in already_processed: + already_processed.add('HotelStatusCode') + outfile.write(' HotelStatusCode="%s"' % self.gds_format_integer(self.HotelStatusCode, input_name='HotelStatusCode')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType269', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CategoryCodes is not None: + namespaceprefix_ = self.CategoryCodes_nsprefix_ + ':' if (UseCapturedNS_ and self.CategoryCodes_nsprefix_) else '' + self.CategoryCodes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CategoryCodes', pretty_print=pretty_print) + if self.Descriptions is not None: + namespaceprefix_ = self.Descriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.Descriptions_nsprefix_) else '' + self.Descriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Descriptions', pretty_print=pretty_print) + if self.Position is not None: + namespaceprefix_ = self.Position_nsprefix_ + ':' if (UseCapturedNS_ and self.Position_nsprefix_) else '' + self.Position.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Position', pretty_print=pretty_print) + if self.Services is not None: + namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' + self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelStatusCode', node) + if value is not None and 'HotelStatusCode' not in already_processed: + already_processed.add('HotelStatusCode') + self.HotelStatusCode = self.gds_parse_integer(value, node, 'HotelStatusCode') + if self.HotelStatusCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.HotelStatusCode) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CategoryCodes': + obj_ = CategoryCodesType270.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CategoryCodes = obj_ + obj_.original_tagname_ = 'CategoryCodes' + elif nodeName_ == 'Descriptions': + obj_ = DescriptionsType272.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Descriptions = obj_ + obj_.original_tagname_ = 'Descriptions' + elif nodeName_ == 'Position': + obj_ = PositionType298.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Position = obj_ + obj_.original_tagname_ = 'Position' + elif nodeName_ == 'Services': + obj_ = ServicesType300.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Services = obj_ + obj_.original_tagname_ = 'Services' +# end class HotelInfoType269 + + +class CategoryCodesType270(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCategory=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCategory = HotelCategory + self.HotelCategory_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CategoryCodesType270) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CategoryCodesType270.subclass: + return CategoryCodesType270.subclass(*args_, **kwargs_) + else: + return CategoryCodesType270(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelCategory(self): + return self.HotelCategory + def set_HotelCategory(self, HotelCategory): + self.HotelCategory = HotelCategory + def has__content(self): + if ( + self.HotelCategory is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType270', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CategoryCodesType270') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CategoryCodesType270': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CategoryCodesType270') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CategoryCodesType270', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CategoryCodesType270'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType270', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelCategory is not None: + namespaceprefix_ = self.HotelCategory_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelCategory_nsprefix_) else '' + self.HotelCategory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelCategory', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelCategory': + obj_ = HotelCategoryType271.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelCategory = obj_ + obj_.original_tagname_ = 'HotelCategory' +# end class CategoryCodesType270 + + +class HotelCategoryType271(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, CodeDetail=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.CodeDetail = _cast(None, CodeDetail) + self.CodeDetail_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelCategoryType271) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelCategoryType271.subclass: + return HotelCategoryType271.subclass(*args_, **kwargs_) + else: + return HotelCategoryType271(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_CodeDetail(self): + return self.CodeDetail + def set_CodeDetail(self, CodeDetail): + self.CodeDetail = CodeDetail + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType271', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelCategoryType271') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelCategoryType271': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelCategoryType271') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelCategoryType271', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelCategoryType271'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.CodeDetail is not None and 'CodeDetail' not in already_processed: + already_processed.add('CodeDetail') + outfile.write(' CodeDetail=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeDetail), input_name='CodeDetail')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType271', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string + value = find_attr_value_('CodeDetail', node) + if value is not None and 'CodeDetail' not in already_processed: + already_processed.add('CodeDetail') + self.CodeDetail = value + self.validate_StringLength1to128(self.CodeDetail) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class HotelCategoryType271 + + +class DescriptionsType272(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MultimediaDescriptions = MultimediaDescriptions + self.MultimediaDescriptions_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionsType272) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionsType272.subclass: + return DescriptionsType272.subclass(*args_, **kwargs_) + else: + return DescriptionsType272(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MultimediaDescriptions(self): + return self.MultimediaDescriptions + def set_MultimediaDescriptions(self, MultimediaDescriptions): + self.MultimediaDescriptions = MultimediaDescriptions + def has__content(self): + if ( + self.MultimediaDescriptions is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType272', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionsType272') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionsType272': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionsType272') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionsType272', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionsType272'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType272', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.MultimediaDescriptions is not None: + namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' + self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'MultimediaDescriptions': + obj_ = MultimediaDescriptionsType273.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescriptions = obj_ + obj_.original_tagname_ = 'MultimediaDescriptions' +# end class DescriptionsType272 + + +class MultimediaDescriptionsType273(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if MultimediaDescription is None: + self.MultimediaDescription = [] + else: + self.MultimediaDescription = MultimediaDescription + self.MultimediaDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionsType273) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionsType273.subclass: + return MultimediaDescriptionsType273.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionsType273(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MultimediaDescription(self): + return self.MultimediaDescription + def set_MultimediaDescription(self, MultimediaDescription): + self.MultimediaDescription = MultimediaDescription + def add_MultimediaDescription(self, value): + self.MultimediaDescription.append(value) + def insert_MultimediaDescription_at(self, index, value): + self.MultimediaDescription.insert(index, value) + def replace_MultimediaDescription_at(self, index, value): + self.MultimediaDescription[index] = value + def has__content(self): + if ( + self.MultimediaDescription + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType273', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType273') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType273': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType273') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType273', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType273'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType273', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for MultimediaDescription_ in self.MultimediaDescription: + namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' + MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'MultimediaDescription': + obj_ = MultimediaDescriptionType274.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescription.append(obj_) + obj_.original_tagname_ = 'MultimediaDescription' +# end class MultimediaDescriptionsType273 + + +class MultimediaDescriptionType274(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.InfoCode = _cast(int, InfoCode) + self.InfoCode_nsprefix_ = None + self.TextItems = TextItems + self.TextItems_nsprefix_ = None + self.ImageItems = ImageItems + self.ImageItems_nsprefix_ = None + self.VideoItems = VideoItems + self.VideoItems_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionType274) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionType274.subclass: + return MultimediaDescriptionType274.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionType274(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItems(self): + return self.TextItems + def set_TextItems(self, TextItems): + self.TextItems = TextItems + def get_ImageItems(self): + return self.ImageItems + def set_ImageItems(self, ImageItems): + self.ImageItems = ImageItems + def get_VideoItems(self): + return self.VideoItems + def set_VideoItems(self, VideoItems): + self.VideoItems = VideoItems + def get_InfoCode(self): + return self.InfoCode + def set_InfoCode(self, InfoCode): + self.InfoCode = InfoCode + def validate_InfoCodeType297(self, value): + # Validate type InfoCodeType297, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 17, 23, 24] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType297' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_InfoCodeType297_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType297_patterns_, )) + validate_InfoCodeType297_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.TextItems is not None or + self.ImageItems is not None or + self.VideoItems is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType274', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType274') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType274': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType274') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType274', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType274'): + if self.InfoCode is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType274', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TextItems is not None: + namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' + self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) + if self.ImageItems is not None: + namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' + self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) + if self.VideoItems is not None: + namespaceprefix_ = self.VideoItems_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItems_nsprefix_) else '' + self.VideoItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItems', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('InfoCode', node) + if value is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') + if self.InfoCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_InfoCodeType297(self.InfoCode) # validate type InfoCodeType297 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItems': + obj_ = TextItemsType275.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItems = obj_ + obj_.original_tagname_ = 'TextItems' + elif nodeName_ == 'ImageItems': + obj_ = ImageItemsType280.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItems = obj_ + obj_.original_tagname_ = 'ImageItems' + elif nodeName_ == 'VideoItems': + obj_ = VideoItemsType289.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VideoItems = obj_ + obj_.original_tagname_ = 'VideoItems' +# end class MultimediaDescriptionType274 + + +class TextItemsType275(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if TextItem is None: + self.TextItem = [] + else: + self.TextItem = TextItem + self.TextItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemsType275) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemsType275.subclass: + return TextItemsType275.subclass(*args_, **kwargs_) + else: + return TextItemsType275(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItem(self): + return self.TextItem + def set_TextItem(self, TextItem): + self.TextItem = TextItem + def add_TextItem(self, value): + self.TextItem.append(value) + def insert_TextItem_at(self, index, value): + self.TextItem.insert(index, value) + def replace_TextItem_at(self, index, value): + self.TextItem[index] = value + def has__content(self): + if ( + self.TextItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType275', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType275') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemsType275': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType275') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType275', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType275'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType275', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for TextItem_ in self.TextItem: + namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' + TextItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItem': + obj_ = TextItemType276.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItem.append(obj_) + obj_.original_tagname_ = 'TextItem' +# end class TextItemsType275 + + +class TextItemType276(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.SourceID = _cast(None, SourceID) + self.SourceID_nsprefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemType276) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemType276.subclass: + return TextItemType276.subclass(*args_, **kwargs_) + else: + return TextItemType276(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_SourceID(self): + return self.SourceID + def set_SourceID(self, SourceID): + self.SourceID = SourceID + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType276', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType276') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemType276': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType276') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType276', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType276'): + if self.SourceID is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType276', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('SourceID', node) + if value is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + self.SourceID = value + self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType277.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class TextItemType276 + + +class DescriptionType277(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType277) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType277.subclass: + return DescriptionType277.subclass(*args_, **kwargs_) + else: + return DescriptionType277(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType278(self, value): + # Validate type TextFormatType278, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType278' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType279(self, value): + # Validate type LanguageType279, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType279_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType279_patterns_, )) + validate_LanguageType279_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType277', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType277') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType277': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType277') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType277'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType277', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType278(self.TextFormat) # validate type TextFormatType278 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType279(self.Language) # validate type LanguageType279 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType277 + + +class ImageItemsType280(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if ImageItem is None: + self.ImageItem = [] + else: + self.ImageItem = ImageItem + self.ImageItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemsType280) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemsType280.subclass: + return ImageItemsType280.subclass(*args_, **kwargs_) + else: + return ImageItemsType280(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageItem(self): + return self.ImageItem + def set_ImageItem(self, ImageItem): + self.ImageItem = ImageItem + def add_ImageItem(self, value): + self.ImageItem.append(value) + def insert_ImageItem_at(self, index, value): + self.ImageItem.insert(index, value) + def replace_ImageItem_at(self, index, value): + self.ImageItem[index] = value + def has__content(self): + if ( + self.ImageItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType280', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType280') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemsType280': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType280') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType280', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType280'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType280', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ImageItem_ in self.ImageItem: + namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' + ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageItem': + obj_ = ImageItemType281.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItem.append(obj_) + obj_.original_tagname_ = 'ImageItem' +# end class ImageItemsType280 + + +class ImageItemType281(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Category = _cast(int, Category) + self.Category_nsprefix_ = None + self.ImageFormat = ImageFormat + self.ImageFormat_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemType281) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemType281.subclass: + return ImageItemType281.subclass(*args_, **kwargs_) + else: + return ImageItemType281(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageFormat(self): + return self.ImageFormat + def set_ImageFormat(self, ImageFormat): + self.ImageFormat = ImageFormat + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Category(self): + return self.Category + def set_Category(self, Category): + self.Category = Category + def validate_CategoryType288(self, value): + # Validate type CategoryType288, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 2, 4, 12, 15, 22] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType288' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_CategoryType288_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType288_patterns_, )) + validate_CategoryType288_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.ImageFormat is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType281', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType281') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemType281': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType281') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType281', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType281'): + if self.Category is not None and 'Category' not in already_processed: + already_processed.add('Category') + outfile.write(' Category=%s' % (quote_attrib(self.Category), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType281', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ImageFormat is not None: + namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' + self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Category', node) + if value is not None and 'Category' not in already_processed: + already_processed.add('Category') + self.Category = self.gds_parse_integer(value, node, 'Category') + if self.Category <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_CategoryType288(self.Category) # validate type CategoryType288 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageFormat': + obj_ = ImageFormatType282.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageFormat = obj_ + obj_.original_tagname_ = 'ImageFormat' + elif nodeName_ == 'Description': + obj_ = DescriptionType285.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class ImageItemType281 + + +class ImageFormatType282(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + self.SourceID = _cast(None, SourceID) + self.SourceID_nsprefix_ = None + self.Title = _cast(None, Title) + self.Title_nsprefix_ = None + self.ApplicableStart = _cast(None, ApplicableStart) + self.ApplicableStart_nsprefix_ = None + self.ApplicableEnd = _cast(None, ApplicableEnd) + self.ApplicableEnd_nsprefix_ = None + self.URL = URL + self.validate_def_url_string(self.URL) + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageFormatType282) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageFormatType282.subclass: + return ImageFormatType282.subclass(*args_, **kwargs_) + else: + return ImageFormatType282(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def get_SourceID(self): + return self.SourceID + def set_SourceID(self, SourceID): + self.SourceID = SourceID + def get_Title(self): + return self.Title + def set_Title(self, Title): + self.Title = Title + def get_ApplicableStart(self): + return self.ApplicableStart + def set_ApplicableStart(self, ApplicableStart): + self.ApplicableStart = ApplicableStart + def get_ApplicableEnd(self): + return self.ApplicableEnd + def set_ApplicableEnd(self, ApplicableEnd): + self.ApplicableEnd = ApplicableEnd + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ApplicableStartType283(self, value): + # Validate type ApplicableStartType283, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ApplicableStartType283_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType283_patterns_, )) + validate_ApplicableStartType283_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] + def validate_ApplicableEndType284(self, value): + # Validate type ApplicableEndType284, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ApplicableEndType284_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableEndType284_patterns_, )) + validate_ApplicableEndType284_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] + def has__content(self): + if ( + self.URL is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType282', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType282') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageFormatType282': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType282') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType282', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType282'): + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + if self.SourceID is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) + if self.Title is not None and 'Title' not in already_processed: + already_processed.add('Title') + outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) + if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) + if self.ApplicableEnd is not None and 'ApplicableEnd' not in already_processed: + already_processed.add('ApplicableEnd') + outfile.write(' ApplicableEnd=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableEnd), input_name='ApplicableEnd')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType282', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.URL is not None: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + value = find_attr_value_('SourceID', node) + if value is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + self.SourceID = value + self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 + value = find_attr_value_('Title', node) + if value is not None and 'Title' not in already_processed: + already_processed.add('Title') + self.Title = value + self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 + value = find_attr_value_('ApplicableStart', node) + if value is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + self.ApplicableStart = value + self.validate_ApplicableStartType283(self.ApplicableStart) # validate type ApplicableStartType283 + value = find_attr_value_('ApplicableEnd', node) + if value is not None and 'ApplicableEnd' not in already_processed: + already_processed.add('ApplicableEnd') + self.ApplicableEnd = value + self.validate_ApplicableEndType284(self.ApplicableEnd) # validate type ApplicableEndType284 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL = value_ + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL) +# end class ImageFormatType282 + + +class DescriptionType285(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType285) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType285.subclass: + return DescriptionType285.subclass(*args_, **kwargs_) + else: + return DescriptionType285(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType286(self, value): + # Validate type TextFormatType286, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType286' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType287(self, value): + # Validate type LanguageType287, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType287_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType287_patterns_, )) + validate_LanguageType287_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType285', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType285') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType285': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType285') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType285'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType285', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType286(self.TextFormat) # validate type TextFormatType286 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType287(self.Language) # validate type LanguageType287 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType285 + + +class VideoItemsType289(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, VideoItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if VideoItem is None: + self.VideoItem = [] + else: + self.VideoItem = VideoItem + self.VideoItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VideoItemsType289) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VideoItemsType289.subclass: + return VideoItemsType289.subclass(*args_, **kwargs_) + else: + return VideoItemsType289(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_VideoItem(self): + return self.VideoItem + def set_VideoItem(self, VideoItem): + self.VideoItem = VideoItem + def add_VideoItem(self, value): + self.VideoItem.append(value) + def insert_VideoItem_at(self, index, value): + self.VideoItem.insert(index, value) + def replace_VideoItem_at(self, index, value): + self.VideoItem[index] = value + def has__content(self): + if ( + self.VideoItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType289', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemsType289') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VideoItemsType289': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemsType289') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemsType289', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemsType289'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType289', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for VideoItem_ in self.VideoItem: + namespaceprefix_ = self.VideoItem_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItem_nsprefix_) else '' + VideoItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'VideoItem': + obj_ = VideoItemType290.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VideoItem.append(obj_) + obj_.original_tagname_ = 'VideoItem' +# end class VideoItemsType289 + + +class VideoItemType290(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Category=None, VideoFormat=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Category = _cast(int, Category) + self.Category_nsprefix_ = None + self.VideoFormat = VideoFormat + self.VideoFormat_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VideoItemType290) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VideoItemType290.subclass: + return VideoItemType290.subclass(*args_, **kwargs_) + else: + return VideoItemType290(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_VideoFormat(self): + return self.VideoFormat + def set_VideoFormat(self, VideoFormat): + self.VideoFormat = VideoFormat + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Category(self): + return self.Category + def set_Category(self, Category): + self.Category = Category + def validate_CategoryType296(self, value): + # Validate type CategoryType296, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 2, 4, 12, 20, 22] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType296' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_CategoryType296_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType296_patterns_, )) + validate_CategoryType296_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.VideoFormat is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType290', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemType290') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VideoItemType290': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemType290') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemType290', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemType290'): + if self.Category is not None and 'Category' not in already_processed: + already_processed.add('Category') + outfile.write(' Category=%s' % (quote_attrib(self.Category), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType290', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.VideoFormat is not None: + namespaceprefix_ = self.VideoFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoFormat_nsprefix_) else '' + self.VideoFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoFormat', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Category', node) + if value is not None and 'Category' not in already_processed: + already_processed.add('Category') + self.Category = self.gds_parse_integer(value, node, 'Category') + if self.Category <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_CategoryType296(self.Category) # validate type CategoryType296 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'VideoFormat': + obj_ = VideoFormatType291.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VideoFormat = obj_ + obj_.original_tagname_ = 'VideoFormat' + elif nodeName_ == 'Description': + obj_ = DescriptionType293.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class VideoItemType290 + + +class VideoFormatType291(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + self.SourceID = _cast(None, SourceID) + self.SourceID_nsprefix_ = None + self.Title = _cast(None, Title) + self.Title_nsprefix_ = None + self.ApplicableStart = _cast(None, ApplicableStart) + self.ApplicableStart_nsprefix_ = None + self.URL = URL + self.validate_def_url_string(self.URL) + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VideoFormatType291) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VideoFormatType291.subclass: + return VideoFormatType291.subclass(*args_, **kwargs_) + else: + return VideoFormatType291(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def get_SourceID(self): + return self.SourceID + def set_SourceID(self, SourceID): + self.SourceID = SourceID + def get_Title(self): + return self.Title + def set_Title(self, Title): + self.Title = Title + def get_ApplicableStart(self): + return self.ApplicableStart + def set_ApplicableStart(self, ApplicableStart): + self.ApplicableStart = ApplicableStart + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ApplicableStartType292(self, value): + # Validate type ApplicableStartType292, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ApplicableStartType292_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType292_patterns_, )) + validate_ApplicableStartType292_patterns_ = [['^([0-1][0-9]-[0-3][0-9])$']] + def has__content(self): + if ( + self.URL is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType291', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoFormatType291') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VideoFormatType291': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoFormatType291') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoFormatType291', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoFormatType291'): + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + if self.SourceID is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) + if self.Title is not None and 'Title' not in already_processed: + already_processed.add('Title') + outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) + if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType291', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.URL is not None: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + value = find_attr_value_('SourceID', node) + if value is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + self.SourceID = value + self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 + value = find_attr_value_('Title', node) + if value is not None and 'Title' not in already_processed: + already_processed.add('Title') + self.Title = value + self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 + value = find_attr_value_('ApplicableStart', node) + if value is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + self.ApplicableStart = value + self.validate_ApplicableStartType292(self.ApplicableStart) # validate type ApplicableStartType292 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL = value_ + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL) +# end class VideoFormatType291 + + +class DescriptionType293(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType293) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType293.subclass: + return DescriptionType293.subclass(*args_, **kwargs_) + else: + return DescriptionType293(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType294(self, value): + # Validate type TextFormatType294, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType294' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType295(self, value): + # Validate type LanguageType295, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType295_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType295_patterns_, )) + validate_LanguageType295_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType293', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType293') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType293': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType293') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType293'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType293', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType294(self.TextFormat) # validate type TextFormatType294 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType295(self.Language) # validate type LanguageType295 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType293 + + +class PositionType298(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Altitude = _cast(float, Altitude) + self.Altitude_nsprefix_ = None + self.AltitudeUnitOfMeasureCode = _cast(None, AltitudeUnitOfMeasureCode) + self.AltitudeUnitOfMeasureCode_nsprefix_ = None + self.Latitude = _cast(float, Latitude) + self.Latitude_nsprefix_ = None + self.Longitude = _cast(float, Longitude) + self.Longitude_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PositionType298) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PositionType298.subclass: + return PositionType298.subclass(*args_, **kwargs_) + else: + return PositionType298(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Altitude(self): + return self.Altitude + def set_Altitude(self, Altitude): + self.Altitude = Altitude + def get_AltitudeUnitOfMeasureCode(self): + return self.AltitudeUnitOfMeasureCode + def set_AltitudeUnitOfMeasureCode(self, AltitudeUnitOfMeasureCode): + self.AltitudeUnitOfMeasureCode = AltitudeUnitOfMeasureCode + def get_Latitude(self): + return self.Latitude + def set_Latitude(self, Latitude): + self.Latitude = Latitude + def get_Longitude(self): + return self.Longitude + def set_Longitude(self, Longitude): + self.Longitude = Longitude + def validate_AltitudeUnitOfMeasureCodeType299(self, value): + # Validate type AltitudeUnitOfMeasureCodeType299, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['3'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AltitudeUnitOfMeasureCodeType299' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType298', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PositionType298') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PositionType298': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PositionType298') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PositionType298', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PositionType298'): + if self.Altitude is not None and 'Altitude' not in already_processed: + already_processed.add('Altitude') + outfile.write(' Altitude="%s"' % self.gds_format_decimal(self.Altitude, input_name='Altitude')) + if self.AltitudeUnitOfMeasureCode is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: + already_processed.add('AltitudeUnitOfMeasureCode') + outfile.write(' AltitudeUnitOfMeasureCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AltitudeUnitOfMeasureCode), input_name='AltitudeUnitOfMeasureCode')), )) + if self.Latitude is not None and 'Latitude' not in already_processed: + already_processed.add('Latitude') + outfile.write(' Latitude="%s"' % self.gds_format_decimal(self.Latitude, input_name='Latitude')) + if self.Longitude is not None and 'Longitude' not in already_processed: + already_processed.add('Longitude') + outfile.write(' Longitude="%s"' % self.gds_format_decimal(self.Longitude, input_name='Longitude')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType298', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Altitude', node) + if value is not None and 'Altitude' not in already_processed: + already_processed.add('Altitude') + value = self.gds_parse_decimal(value, node, 'Altitude') + self.Altitude = value + value = find_attr_value_('AltitudeUnitOfMeasureCode', node) + if value is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: + already_processed.add('AltitudeUnitOfMeasureCode') + self.AltitudeUnitOfMeasureCode = value + self.validate_AltitudeUnitOfMeasureCodeType299(self.AltitudeUnitOfMeasureCode) # validate type AltitudeUnitOfMeasureCodeType299 + value = find_attr_value_('Latitude', node) + if value is not None and 'Latitude' not in already_processed: + already_processed.add('Latitude') + value = self.gds_parse_decimal(value, node, 'Latitude') + self.Latitude = value + value = find_attr_value_('Longitude', node) + if value is not None and 'Longitude' not in already_processed: + already_processed.add('Longitude') + value = self.gds_parse_decimal(value, node, 'Longitude') + self.Longitude = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PositionType298 + + +class ServicesType300(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Service=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Service is None: + self.Service = [] + else: + self.Service = Service + self.Service_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServicesType300) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServicesType300.subclass: + return ServicesType300.subclass(*args_, **kwargs_) + else: + return ServicesType300(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Service(self): + return self.Service + def set_Service(self, Service): + self.Service = Service + def add_Service(self, value): + self.Service.append(value) + def insert_Service_at(self, index, value): + self.Service.insert(index, value) + def replace_Service_at(self, index, value): + self.Service[index] = value + def has__content(self): + if ( + self.Service + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType300', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType300') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServicesType300': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType300') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType300', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType300'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType300', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Service_ in self.Service: + namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' + Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Service': + obj_ = ServiceType301.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Service.append(obj_) + obj_.original_tagname_ = 'Service' +# end class ServicesType300 + + +class ServiceType301(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.MealPlanCode = _cast(None, MealPlanCode) + self.MealPlanCode_nsprefix_ = None + self.ProximityCode = _cast(int, ProximityCode) + self.ProximityCode_nsprefix_ = None + self.Included = _cast(bool, Included) + self.Included_nsprefix_ = None + self.Features = Features + self.Features_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceType301) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceType301.subclass: + return ServiceType301.subclass(*args_, **kwargs_) + else: + return ServiceType301(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Features(self): + return self.Features + def set_Features(self, Features): + self.Features = Features + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_MealPlanCode(self): + return self.MealPlanCode + def set_MealPlanCode(self, MealPlanCode): + self.MealPlanCode = MealPlanCode + def get_ProximityCode(self): + return self.ProximityCode + def set_ProximityCode(self, ProximityCode): + self.ProximityCode = ProximityCode + def get_Included(self): + return self.Included + def set_Included(self, Included): + self.Included = Included + def validate_def_alpinebits_code(self, value): + # Validate type def_alpinebits_code, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_alpinebits_code_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) + validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] + def validate_MealPlanCodeType304(self, value): + # Validate type MealPlanCodeType304, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['12'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodeType304' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.Features is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType301', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType301') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceType301': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType301') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType301', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType301'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.MealPlanCode is not None and 'MealPlanCode' not in already_processed: + already_processed.add('MealPlanCode') + outfile.write(' MealPlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCode), input_name='MealPlanCode')), )) + if self.ProximityCode is not None and 'ProximityCode' not in already_processed: + already_processed.add('ProximityCode') + outfile.write(' ProximityCode="%s"' % self.gds_format_integer(self.ProximityCode, input_name='ProximityCode')) + if self.Included is not None and 'Included' not in already_processed: + already_processed.add('Included') + outfile.write(' Included="%s"' % self.gds_format_boolean(self.Included, input_name='Included')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType301', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Features is not None: + namespaceprefix_ = self.Features_nsprefix_ + ':' if (UseCapturedNS_ and self.Features_nsprefix_) else '' + self.Features.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Features', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_alpinebits_code(self.Code) # validate type def_alpinebits_code + value = find_attr_value_('MealPlanCode', node) + if value is not None and 'MealPlanCode' not in already_processed: + already_processed.add('MealPlanCode') + self.MealPlanCode = value + self.validate_MealPlanCodeType304(self.MealPlanCode) # validate type MealPlanCodeType304 + value = find_attr_value_('ProximityCode', node) + if value is not None and 'ProximityCode' not in already_processed: + already_processed.add('ProximityCode') + self.ProximityCode = self.gds_parse_integer(value, node, 'ProximityCode') + if self.ProximityCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.ProximityCode) # validate type def_int_gt0 + value = find_attr_value_('Included', node) + if value is not None and 'Included' not in already_processed: + already_processed.add('Included') + if value in ('true', '1'): + self.Included = True + elif value in ('false', '0'): + self.Included = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Included) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Features': + obj_ = FeaturesType302.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Features = obj_ + obj_.original_tagname_ = 'Features' +# end class ServiceType301 + + +class FeaturesType302(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Feature=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Feature is None: + self.Feature = [] + else: + self.Feature = Feature + self.Feature_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, FeaturesType302) + if subclass is not None: + return subclass(*args_, **kwargs_) + if FeaturesType302.subclass: + return FeaturesType302.subclass(*args_, **kwargs_) + else: + return FeaturesType302(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Feature(self): + return self.Feature + def set_Feature(self, Feature): + self.Feature = Feature + def add_Feature(self, value): + self.Feature.append(value) + def insert_Feature_at(self, index, value): + self.Feature.insert(index, value) + def replace_Feature_at(self, index, value): + self.Feature[index] = value + def has__content(self): + if ( + self.Feature + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType302', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeaturesType302') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'FeaturesType302': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeaturesType302') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeaturesType302', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeaturesType302'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType302', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Feature_ in self.Feature: + namespaceprefix_ = self.Feature_nsprefix_ + ':' if (UseCapturedNS_ and self.Feature_nsprefix_) else '' + Feature_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Feature', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Feature': + obj_ = FeatureType303.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Feature.append(obj_) + obj_.original_tagname_ = 'Feature' +# end class FeaturesType302 + + +class FeatureType303(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AccessibleCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AccessibleCode = _cast(int, AccessibleCode) + self.AccessibleCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, FeatureType303) + if subclass is not None: + return subclass(*args_, **kwargs_) + if FeatureType303.subclass: + return FeatureType303.subclass(*args_, **kwargs_) + else: + return FeatureType303(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AccessibleCode(self): + return self.AccessibleCode + def set_AccessibleCode(self, AccessibleCode): + self.AccessibleCode = AccessibleCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType303', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeatureType303') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'FeatureType303': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeatureType303') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeatureType303', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeatureType303'): + if self.AccessibleCode is not None and 'AccessibleCode' not in already_processed: + already_processed.add('AccessibleCode') + outfile.write(' AccessibleCode="%s"' % self.gds_format_integer(self.AccessibleCode, input_name='AccessibleCode')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType303', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AccessibleCode', node) + if value is not None and 'AccessibleCode' not in already_processed: + already_processed.add('AccessibleCode') + self.AccessibleCode = self.gds_parse_integer(value, node, 'AccessibleCode') + if self.AccessibleCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AccessibleCode) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class FeatureType303 + + +class FacilityInfoType305(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestRooms=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuestRooms = GuestRooms + self.GuestRooms_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, FacilityInfoType305) + if subclass is not None: + return subclass(*args_, **kwargs_) + if FacilityInfoType305.subclass: + return FacilityInfoType305.subclass(*args_, **kwargs_) + else: + return FacilityInfoType305(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestRooms(self): + return self.GuestRooms + def set_GuestRooms(self, GuestRooms): + self.GuestRooms = GuestRooms + def has__content(self): + if ( + self.GuestRooms is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType305', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('FacilityInfoType305') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'FacilityInfoType305': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FacilityInfoType305') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FacilityInfoType305', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FacilityInfoType305'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType305', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuestRooms is not None: + namespaceprefix_ = self.GuestRooms_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRooms_nsprefix_) else '' + self.GuestRooms.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRooms', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestRooms': + obj_ = GuestRoomsType306.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestRooms = obj_ + obj_.original_tagname_ = 'GuestRooms' +# end class FacilityInfoType305 + + +class GuestRoomsType306(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestRoom=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuestRoom is None: + self.GuestRoom = [] + else: + self.GuestRoom = GuestRoom + self.GuestRoom_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestRoomsType306) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestRoomsType306.subclass: + return GuestRoomsType306.subclass(*args_, **kwargs_) + else: + return GuestRoomsType306(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestRoom(self): + return self.GuestRoom + def set_GuestRoom(self, GuestRoom): + self.GuestRoom = GuestRoom + def add_GuestRoom(self, value): + self.GuestRoom.append(value) + def insert_GuestRoom_at(self, index, value): + self.GuestRoom.insert(index, value) + def replace_GuestRoom_at(self, index, value): + self.GuestRoom[index] = value + def has__content(self): + if ( + self.GuestRoom + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType306', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomsType306') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestRoomsType306': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomsType306') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomsType306', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomsType306'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType306', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuestRoom_ in self.GuestRoom: + namespaceprefix_ = self.GuestRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRoom_nsprefix_) else '' + GuestRoom_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRoom', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestRoom': + obj_ = GuestRoomType307.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestRoom.append(obj_) + obj_.original_tagname_ = 'GuestRoom' +# end class GuestRoomsType306 + + +class GuestRoomType307(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.MaxOccupancy = _cast(int, MaxOccupancy) + self.MaxOccupancy_nsprefix_ = None + self.MinOccupancy = _cast(int, MinOccupancy) + self.MinOccupancy_nsprefix_ = None + self.MaxChildOccupancy = _cast(int, MaxChildOccupancy) + self.MaxChildOccupancy_nsprefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.TypeRoom = TypeRoom + self.TypeRoom_nsprefix_ = None + self.Amenities = Amenities + self.Amenities_nsprefix_ = None + self.MultimediaDescriptions = MultimediaDescriptions + self.MultimediaDescriptions_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestRoomType307) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestRoomType307.subclass: + return GuestRoomType307.subclass(*args_, **kwargs_) + else: + return GuestRoomType307(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TypeRoom(self): + return self.TypeRoom + def set_TypeRoom(self, TypeRoom): + self.TypeRoom = TypeRoom + def get_Amenities(self): + return self.Amenities + def set_Amenities(self, Amenities): + self.Amenities = Amenities + def get_MultimediaDescriptions(self): + return self.MultimediaDescriptions + def set_MultimediaDescriptions(self, MultimediaDescriptions): + self.MultimediaDescriptions = MultimediaDescriptions + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_MaxOccupancy(self): + return self.MaxOccupancy + def set_MaxOccupancy(self, MaxOccupancy): + self.MaxOccupancy = MaxOccupancy + def get_MinOccupancy(self): + return self.MinOccupancy + def set_MinOccupancy(self, MinOccupancy): + self.MinOccupancy = MinOccupancy + def get_MaxChildOccupancy(self): + return self.MaxChildOccupancy + def set_MaxChildOccupancy(self, MaxChildOccupancy): + self.MaxChildOccupancy = MaxChildOccupancy + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.TypeRoom is not None or + self.Amenities is not None or + self.MultimediaDescriptions is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType307', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomType307') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestRoomType307': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomType307') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomType307', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomType307'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) + if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) + if self.MaxChildOccupancy is not None and 'MaxChildOccupancy' not in already_processed: + already_processed.add('MaxChildOccupancy') + outfile.write(' MaxChildOccupancy="%s"' % self.gds_format_integer(self.MaxChildOccupancy, input_name='MaxChildOccupancy')) + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType307', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TypeRoom is not None: + namespaceprefix_ = self.TypeRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.TypeRoom_nsprefix_) else '' + self.TypeRoom.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TypeRoom', pretty_print=pretty_print) + if self.Amenities is not None: + namespaceprefix_ = self.Amenities_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenities_nsprefix_) else '' + self.Amenities.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenities', pretty_print=pretty_print) + if self.MultimediaDescriptions is not None: + namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' + self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string + value = find_attr_value_('MaxOccupancy', node) + if value is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') + if self.MaxOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 + value = find_attr_value_('MinOccupancy', node) + if value is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') + if self.MinOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinOccupancy) # validate type def_int_gt0 + value = find_attr_value_('MaxChildOccupancy', node) + if value is not None and 'MaxChildOccupancy' not in already_processed: + already_processed.add('MaxChildOccupancy') + self.MaxChildOccupancy = self.gds_parse_integer(value, node, 'MaxChildOccupancy') + if self.MaxChildOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxChildOccupancy) # validate type def_int_gt0 + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_def_invTypeCode_string(self.ID) # validate type def_invTypeCode_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TypeRoom': + obj_ = TypeRoomType308.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TypeRoom = obj_ + obj_.original_tagname_ = 'TypeRoom' + elif nodeName_ == 'Amenities': + obj_ = AmenitiesType310.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Amenities = obj_ + obj_.original_tagname_ = 'Amenities' + elif nodeName_ == 'MultimediaDescriptions': + obj_ = MultimediaDescriptionsType312.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescriptions = obj_ + obj_.original_tagname_ = 'MultimediaDescriptions' +# end class GuestRoomType307 + + +class TypeRoomType308(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.StandardOccupancy = _cast(int, StandardOccupancy) + self.StandardOccupancy_nsprefix_ = None + self.RoomClassificationCode = _cast(int, RoomClassificationCode) + self.RoomClassificationCode_nsprefix_ = None + self.RoomID = _cast(None, RoomID) + self.RoomID_nsprefix_ = None + self.Size = _cast(int, Size) + self.Size_nsprefix_ = None + self.RoomType = _cast(None, RoomType) + self.RoomType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TypeRoomType308) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TypeRoomType308.subclass: + return TypeRoomType308.subclass(*args_, **kwargs_) + else: + return TypeRoomType308(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StandardOccupancy(self): + return self.StandardOccupancy + def set_StandardOccupancy(self, StandardOccupancy): + self.StandardOccupancy = StandardOccupancy + def get_RoomClassificationCode(self): + return self.RoomClassificationCode + def set_RoomClassificationCode(self, RoomClassificationCode): + self.RoomClassificationCode = RoomClassificationCode + def get_RoomID(self): + return self.RoomID + def set_RoomID(self, RoomID): + self.RoomID = RoomID + def get_Size(self): + return self.Size + def set_Size(self, Size): + self.Size = Size + def get_RoomType(self): + return self.RoomType + def set_RoomType(self, RoomType): + self.RoomType = RoomType + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_RoomTypeType309(self, value): + # Validate type RoomTypeType309, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType309' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType308', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TypeRoomType308') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TypeRoomType308': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TypeRoomType308') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TypeRoomType308', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TypeRoomType308'): + if self.StandardOccupancy is not None and 'StandardOccupancy' not in already_processed: + already_processed.add('StandardOccupancy') + outfile.write(' StandardOccupancy="%s"' % self.gds_format_integer(self.StandardOccupancy, input_name='StandardOccupancy')) + if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) + if self.RoomID is not None and 'RoomID' not in already_processed: + already_processed.add('RoomID') + outfile.write(' RoomID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomID), input_name='RoomID')), )) + if self.Size is not None and 'Size' not in already_processed: + already_processed.add('Size') + outfile.write(' Size="%s"' % self.gds_format_integer(self.Size, input_name='Size')) + if self.RoomType is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType308', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('StandardOccupancy', node) + if value is not None and 'StandardOccupancy' not in already_processed: + already_processed.add('StandardOccupancy') + self.StandardOccupancy = self.gds_parse_integer(value, node, 'StandardOccupancy') + if self.StandardOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.StandardOccupancy) # validate type def_int_gt0 + value = find_attr_value_('RoomClassificationCode', node) + if value is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') + if self.RoomClassificationCode < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 + value = find_attr_value_('RoomID', node) + if value is not None and 'RoomID' not in already_processed: + already_processed.add('RoomID') + self.RoomID = value + self.validate_StringLength1to16(self.RoomID) # validate type StringLength1to16 + value = find_attr_value_('Size', node) + if value is not None and 'Size' not in already_processed: + already_processed.add('Size') + self.Size = self.gds_parse_integer(value, node, 'Size') + if self.Size < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Size) # validate type def_int_ge0 + value = find_attr_value_('RoomType', node) + if value is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + self.RoomType = value + self.validate_RoomTypeType309(self.RoomType) # validate type RoomTypeType309 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TypeRoomType308 + + +class AmenitiesType310(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amenity=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Amenity is None: + self.Amenity = [] + else: + self.Amenity = Amenity + self.Amenity_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmenitiesType310) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmenitiesType310.subclass: + return AmenitiesType310.subclass(*args_, **kwargs_) + else: + return AmenitiesType310(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amenity(self): + return self.Amenity + def set_Amenity(self, Amenity): + self.Amenity = Amenity + def add_Amenity(self, value): + self.Amenity.append(value) + def insert_Amenity_at(self, index, value): + self.Amenity.insert(index, value) + def replace_Amenity_at(self, index, value): + self.Amenity[index] = value + def has__content(self): + if ( + self.Amenity + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType310', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenitiesType310') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmenitiesType310': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenitiesType310') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenitiesType310', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenitiesType310'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType310', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Amenity_ in self.Amenity: + namespaceprefix_ = self.Amenity_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenity_nsprefix_) else '' + Amenity_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenity', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Amenity': + obj_ = AmenityType311.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Amenity.append(obj_) + obj_.original_tagname_ = 'Amenity' +# end class AmenitiesType310 + + +class AmenityType311(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomAmenityCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomAmenityCode = _cast(None, RoomAmenityCode) + self.RoomAmenityCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmenityType311) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmenityType311.subclass: + return AmenityType311.subclass(*args_, **kwargs_) + else: + return AmenityType311(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomAmenityCode(self): + return self.RoomAmenityCode + def set_RoomAmenityCode(self, RoomAmenityCode): + self.RoomAmenityCode = RoomAmenityCode + def validate_def_alpinebits_code(self, value): + # Validate type def_alpinebits_code, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_alpinebits_code_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) + validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType311', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenityType311') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmenityType311': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenityType311') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenityType311', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenityType311'): + if self.RoomAmenityCode is not None and 'RoomAmenityCode' not in already_processed: + already_processed.add('RoomAmenityCode') + outfile.write(' RoomAmenityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomAmenityCode), input_name='RoomAmenityCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType311', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RoomAmenityCode', node) + if value is not None and 'RoomAmenityCode' not in already_processed: + already_processed.add('RoomAmenityCode') + self.RoomAmenityCode = value + self.validate_def_alpinebits_code(self.RoomAmenityCode) # validate type def_alpinebits_code + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AmenityType311 + + +class MultimediaDescriptionsType312(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if MultimediaDescription is None: + self.MultimediaDescription = [] + else: + self.MultimediaDescription = MultimediaDescription + self.MultimediaDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionsType312) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionsType312.subclass: + return MultimediaDescriptionsType312.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionsType312(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MultimediaDescription(self): + return self.MultimediaDescription + def set_MultimediaDescription(self, MultimediaDescription): + self.MultimediaDescription = MultimediaDescription + def add_MultimediaDescription(self, value): + self.MultimediaDescription.append(value) + def insert_MultimediaDescription_at(self, index, value): + self.MultimediaDescription.insert(index, value) + def replace_MultimediaDescription_at(self, index, value): + self.MultimediaDescription[index] = value + def has__content(self): + if ( + self.MultimediaDescription + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType312', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType312') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType312': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType312') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType312', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType312'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType312', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for MultimediaDescription_ in self.MultimediaDescription: + namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' + MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'MultimediaDescription': + obj_ = MultimediaDescriptionType313.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescription.append(obj_) + obj_.original_tagname_ = 'MultimediaDescription' +# end class MultimediaDescriptionsType312 + + +class MultimediaDescriptionType313(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.InfoCode = _cast(int, InfoCode) + self.InfoCode_nsprefix_ = None + self.TextItems = TextItems + self.TextItems_nsprefix_ = None + self.ImageItems = ImageItems + self.ImageItems_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionType313) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionType313.subclass: + return MultimediaDescriptionType313.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionType313(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItems(self): + return self.TextItems + def set_TextItems(self, TextItems): + self.TextItems = TextItems + def get_ImageItems(self): + return self.ImageItems + def set_ImageItems(self, ImageItems): + self.ImageItems = ImageItems + def get_InfoCode(self): + return self.InfoCode + def set_InfoCode(self, InfoCode): + self.InfoCode = InfoCode + def validate_InfoCodeType325(self, value): + # Validate type InfoCodeType325, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 23, 25] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType325' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_InfoCodeType325_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType325_patterns_, )) + validate_InfoCodeType325_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.TextItems is not None or + self.ImageItems is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType313', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType313') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType313': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType313') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType313', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType313'): + if self.InfoCode is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType313', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TextItems is not None: + namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' + self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) + if self.ImageItems is not None: + namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' + self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('InfoCode', node) + if value is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') + if self.InfoCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_InfoCodeType325(self.InfoCode) # validate type InfoCodeType325 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItems': + obj_ = TextItemsType314.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItems = obj_ + obj_.original_tagname_ = 'TextItems' + elif nodeName_ == 'ImageItems': + obj_ = ImageItemsType319.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItems = obj_ + obj_.original_tagname_ = 'ImageItems' +# end class MultimediaDescriptionType313 + + +class TextItemsType314(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextItem = TextItem + self.TextItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemsType314) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemsType314.subclass: + return TextItemsType314.subclass(*args_, **kwargs_) + else: + return TextItemsType314(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItem(self): + return self.TextItem + def set_TextItem(self, TextItem): + self.TextItem = TextItem + def has__content(self): + if ( + self.TextItem is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType314', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType314') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemsType314': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType314') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType314', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType314'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType314', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TextItem is not None: + namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' + self.TextItem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItem': + obj_ = TextItemType315.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItem = obj_ + obj_.original_tagname_ = 'TextItem' +# end class TextItemsType314 + + +class TextItemType315(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemType315) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemType315.subclass: + return TextItemType315.subclass(*args_, **kwargs_) + else: + return TextItemType315(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def has__content(self): + if ( + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType315', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType315') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemType315': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType315') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType315', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType315'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType315', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType316.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class TextItemType315 + + +class DescriptionType316(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType316) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType316.subclass: + return DescriptionType316.subclass(*args_, **kwargs_) + else: + return DescriptionType316(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType317(self, value): + # Validate type TextFormatType317, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType317' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType318(self, value): + # Validate type LanguageType318, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType318_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType318_patterns_, )) + validate_LanguageType318_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType316', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType316') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType316': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType316') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType316'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType316', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType317(self.TextFormat) # validate type TextFormatType317 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType318(self.Language) # validate type LanguageType318 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType316 + + +class ImageItemsType319(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if ImageItem is None: + self.ImageItem = [] + else: + self.ImageItem = ImageItem + self.ImageItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemsType319) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemsType319.subclass: + return ImageItemsType319.subclass(*args_, **kwargs_) + else: + return ImageItemsType319(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageItem(self): + return self.ImageItem + def set_ImageItem(self, ImageItem): + self.ImageItem = ImageItem + def add_ImageItem(self, value): + self.ImageItem.append(value) + def insert_ImageItem_at(self, index, value): + self.ImageItem.insert(index, value) + def replace_ImageItem_at(self, index, value): + self.ImageItem[index] = value + def has__content(self): + if ( + self.ImageItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType319', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType319') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemsType319': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType319') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType319', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType319'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType319', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ImageItem_ in self.ImageItem: + namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' + ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageItem': + obj_ = ImageItemType320.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItem.append(obj_) + obj_.original_tagname_ = 'ImageItem' +# end class ImageItemsType319 + + +class ImageItemType320(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Category = _cast(int, Category) + self.Category_nsprefix_ = None + self.ImageFormat = ImageFormat + self.ImageFormat_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemType320) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemType320.subclass: + return ImageItemType320.subclass(*args_, **kwargs_) + else: + return ImageItemType320(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageFormat(self): + return self.ImageFormat + def set_ImageFormat(self, ImageFormat): + self.ImageFormat = ImageFormat + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Category(self): + return self.Category + def set_Category(self, Category): + self.Category = Category + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.ImageFormat is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType320', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType320') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemType320': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType320') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType320', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType320'): + if self.Category is not None and 'Category' not in already_processed: + already_processed.add('Category') + outfile.write(' Category="%s"' % self.gds_format_integer(self.Category, input_name='Category')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType320', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ImageFormat is not None: + namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' + self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Category', node) + if value is not None and 'Category' not in already_processed: + already_processed.add('Category') + self.Category = self.gds_parse_integer(value, node, 'Category') + if self.Category <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Category) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageFormat': + obj_ = ImageFormatType321.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageFormat = obj_ + obj_.original_tagname_ = 'ImageFormat' + elif nodeName_ == 'Description': + obj_ = DescriptionType322.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class ImageItemType320 + + +class ImageFormatType321(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CopyrightNotice=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + self.URL = URL + self.validate_def_url_string(self.URL) + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageFormatType321) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageFormatType321.subclass: + return ImageFormatType321.subclass(*args_, **kwargs_) + else: + return ImageFormatType321(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.URL is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType321', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType321') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageFormatType321': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType321') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType321', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType321'): + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType321', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.URL is not None: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL = value_ + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL) +# end class ImageFormatType321 + + +class DescriptionType322(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType322) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType322.subclass: + return DescriptionType322.subclass(*args_, **kwargs_) + else: + return DescriptionType322(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType323(self, value): + # Validate type TextFormatType323, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType323' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType324(self, value): + # Validate type LanguageType324, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType324_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType324_patterns_, )) + validate_LanguageType324_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType322', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType322') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType322': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType322') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType322'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType322', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType323(self.TextFormat) # validate type TextFormatType323 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType324(self.Language) # validate type LanguageType324 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType322 + + +class PoliciesType326(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Policy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Policy is None: + self.Policy = [] + else: + self.Policy = Policy + self.Policy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PoliciesType326) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PoliciesType326.subclass: + return PoliciesType326.subclass(*args_, **kwargs_) + else: + return PoliciesType326(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Policy(self): + return self.Policy + def set_Policy(self, Policy): + self.Policy = Policy + def add_Policy(self, value): + self.Policy.append(value) + def insert_Policy_at(self, index, value): + self.Policy.insert(index, value) + def replace_Policy_at(self, index, value): + self.Policy[index] = value + def has__content(self): + if ( + self.Policy + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType326', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PoliciesType326') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PoliciesType326': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PoliciesType326') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PoliciesType326', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PoliciesType326'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType326', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Policy_ in self.Policy: + namespaceprefix_ = self.Policy_nsprefix_ + ':' if (UseCapturedNS_ and self.Policy_nsprefix_) else '' + Policy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Policy': + obj_ = PolicyType327.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Policy.append(obj_) + obj_.original_tagname_ = 'Policy' +# end class PoliciesType326 + + +class PolicyType327(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CancelPolicy = CancelPolicy + self.CancelPolicy_nsprefix_ = None + self.CheckoutCharges = CheckoutCharges + self.CheckoutCharges_nsprefix_ = None + self.PetsPolicies = PetsPolicies + self.PetsPolicies_nsprefix_ = None + self.TaxPolicies = TaxPolicies + self.TaxPolicies_nsprefix_ = None + self.GuaranteePaymentPolicy = GuaranteePaymentPolicy + self.GuaranteePaymentPolicy_nsprefix_ = None + self.PolicyInfo = PolicyInfo + self.PolicyInfo_nsprefix_ = None + self.StayRequirements = StayRequirements + self.StayRequirements_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PolicyType327) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PolicyType327.subclass: + return PolicyType327.subclass(*args_, **kwargs_) + else: + return PolicyType327(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CancelPolicy(self): + return self.CancelPolicy + def set_CancelPolicy(self, CancelPolicy): + self.CancelPolicy = CancelPolicy + def get_CheckoutCharges(self): + return self.CheckoutCharges + def set_CheckoutCharges(self, CheckoutCharges): + self.CheckoutCharges = CheckoutCharges + def get_PetsPolicies(self): + return self.PetsPolicies + def set_PetsPolicies(self, PetsPolicies): + self.PetsPolicies = PetsPolicies + def get_TaxPolicies(self): + return self.TaxPolicies + def set_TaxPolicies(self, TaxPolicies): + self.TaxPolicies = TaxPolicies + def get_GuaranteePaymentPolicy(self): + return self.GuaranteePaymentPolicy + def set_GuaranteePaymentPolicy(self, GuaranteePaymentPolicy): + self.GuaranteePaymentPolicy = GuaranteePaymentPolicy + def get_PolicyInfo(self): + return self.PolicyInfo + def set_PolicyInfo(self, PolicyInfo): + self.PolicyInfo = PolicyInfo + def get_StayRequirements(self): + return self.StayRequirements + def set_StayRequirements(self, StayRequirements): + self.StayRequirements = StayRequirements + def has__content(self): + if ( + self.CancelPolicy is not None or + self.CheckoutCharges is not None or + self.PetsPolicies is not None or + self.TaxPolicies is not None or + self.GuaranteePaymentPolicy is not None or + self.PolicyInfo is not None or + self.StayRequirements is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType327', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyType327') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PolicyType327': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyType327') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyType327', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyType327'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType327', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CancelPolicy is not None: + namespaceprefix_ = self.CancelPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPolicy_nsprefix_) else '' + self.CancelPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPolicy', pretty_print=pretty_print) + if self.CheckoutCharges is not None: + namespaceprefix_ = self.CheckoutCharges_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharges_nsprefix_) else '' + self.CheckoutCharges.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharges', pretty_print=pretty_print) + if self.PetsPolicies is not None: + namespaceprefix_ = self.PetsPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicies_nsprefix_) else '' + self.PetsPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicies', pretty_print=pretty_print) + if self.TaxPolicies is not None: + namespaceprefix_ = self.TaxPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicies_nsprefix_) else '' + self.TaxPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicies', pretty_print=pretty_print) + if self.GuaranteePaymentPolicy is not None: + namespaceprefix_ = self.GuaranteePaymentPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePaymentPolicy_nsprefix_) else '' + self.GuaranteePaymentPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePaymentPolicy', pretty_print=pretty_print) + if self.PolicyInfo is not None: + namespaceprefix_ = self.PolicyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.PolicyInfo_nsprefix_) else '' + self.PolicyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PolicyInfo', pretty_print=pretty_print) + if self.StayRequirements is not None: + namespaceprefix_ = self.StayRequirements_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirements_nsprefix_) else '' + self.StayRequirements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirements', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CancelPolicy': + obj_ = CancelPolicyType328.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPolicy = obj_ + obj_.original_tagname_ = 'CancelPolicy' + elif nodeName_ == 'CheckoutCharges': + obj_ = CheckoutChargesType334.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CheckoutCharges = obj_ + obj_.original_tagname_ = 'CheckoutCharges' + elif nodeName_ == 'PetsPolicies': + obj_ = PetsPoliciesType340.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PetsPolicies = obj_ + obj_.original_tagname_ = 'PetsPolicies' + elif nodeName_ == 'TaxPolicies': + obj_ = TaxPoliciesType346.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TaxPolicies = obj_ + obj_.original_tagname_ = 'TaxPolicies' + elif nodeName_ == 'GuaranteePaymentPolicy': + obj_ = GuaranteePaymentPolicyType355.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteePaymentPolicy = obj_ + obj_.original_tagname_ = 'GuaranteePaymentPolicy' + elif nodeName_ == 'PolicyInfo': + obj_ = PolicyInfoType370.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PolicyInfo = obj_ + obj_.original_tagname_ = 'PolicyInfo' + elif nodeName_ == 'StayRequirements': + obj_ = StayRequirementsType371.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StayRequirements = obj_ + obj_.original_tagname_ = 'StayRequirements' +# end class PolicyType327 + + +class CancelPolicyType328(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CancelPenalty = CancelPenalty + self.CancelPenalty_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPolicyType328) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPolicyType328.subclass: + return CancelPolicyType328.subclass(*args_, **kwargs_) + else: + return CancelPolicyType328(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CancelPenalty(self): + return self.CancelPenalty + def set_CancelPenalty(self, CancelPenalty): + self.CancelPenalty = CancelPenalty + def has__content(self): + if ( + self.CancelPenalty is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType328', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPolicyType328') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPolicyType328': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPolicyType328') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPolicyType328', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPolicyType328'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType328', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CancelPenalty is not None: + namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' + self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CancelPenalty': + obj_ = CancelPenaltyType329.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPenalty = obj_ + obj_.original_tagname_ = 'CancelPenalty' +# end class CancelPolicyType328 + + +class CancelPenaltyType329(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PenaltyDescription = PenaltyDescription + self.PenaltyDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPenaltyType329) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPenaltyType329.subclass: + return CancelPenaltyType329.subclass(*args_, **kwargs_) + else: + return CancelPenaltyType329(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PenaltyDescription(self): + return self.PenaltyDescription + def set_PenaltyDescription(self, PenaltyDescription): + self.PenaltyDescription = PenaltyDescription + def has__content(self): + if ( + self.PenaltyDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType329', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType329') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPenaltyType329': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType329') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType329', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType329'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType329', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PenaltyDescription is not None: + namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' + self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PenaltyDescription': + obj_ = PenaltyDescriptionType330.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PenaltyDescription = obj_ + obj_.original_tagname_ = 'PenaltyDescription' +# end class CancelPenaltyType329 + + +class PenaltyDescriptionType330(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PenaltyDescriptionType330) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PenaltyDescriptionType330.subclass: + return PenaltyDescriptionType330.subclass(*args_, **kwargs_) + else: + return PenaltyDescriptionType330(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType330', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType330') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType330': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType330') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType330', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType330'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType330', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType331.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class PenaltyDescriptionType330 + + +class TextType331(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType331) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType331.subclass: + return TextType331.subclass(*args_, **kwargs_) + else: + return TextType331(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType332(self, value): + # Validate type TextFormatType332, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType332' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType333(self, value): + # Validate type LanguageType333, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType333_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType333_patterns_, )) + validate_LanguageType333_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType331', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType331') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType331': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType331') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType331'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType331', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType332(self.TextFormat) # validate type TextFormatType332 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType333(self.Language) # validate type LanguageType333 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType331 + + +class CheckoutChargesType334(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CheckoutCharge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CheckoutCharge = CheckoutCharge + self.CheckoutCharge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CheckoutChargesType334) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CheckoutChargesType334.subclass: + return CheckoutChargesType334.subclass(*args_, **kwargs_) + else: + return CheckoutChargesType334(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CheckoutCharge(self): + return self.CheckoutCharge + def set_CheckoutCharge(self, CheckoutCharge): + self.CheckoutCharge = CheckoutCharge + def has__content(self): + if ( + self.CheckoutCharge is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType334', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargesType334') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CheckoutChargesType334': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargesType334') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargesType334', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargesType334'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType334', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CheckoutCharge is not None: + namespaceprefix_ = self.CheckoutCharge_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharge_nsprefix_) else '' + self.CheckoutCharge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharge', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CheckoutCharge': + obj_ = CheckoutChargeType335.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CheckoutCharge = obj_ + obj_.original_tagname_ = 'CheckoutCharge' +# end class CheckoutChargesType334 + + +class CheckoutChargeType335(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.DecimalPlaces = _cast(int, DecimalPlaces) + self.DecimalPlaces_nsprefix_ = None + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CheckoutChargeType335) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CheckoutChargeType335.subclass: + return CheckoutChargeType335.subclass(*args_, **kwargs_) + else: + return CheckoutChargeType335(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_DecimalPlaces(self): + return self.DecimalPlaces + def set_DecimalPlaces(self, DecimalPlaces): + self.DecimalPlaces = DecimalPlaces + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.Description is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType335', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargeType335') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CheckoutChargeType335': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargeType335') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargeType335', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargeType335'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType335', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Description is not None: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('DecimalPlaces', node) + if value is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') + if self.DecimalPlaces <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType336.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description = obj_ + obj_.original_tagname_ = 'Description' +# end class CheckoutChargeType335 + + +class DescriptionType336(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType336) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType336.subclass: + return DescriptionType336.subclass(*args_, **kwargs_) + else: + return DescriptionType336(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType336', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType336') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType336': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType336') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType336', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType336'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType336', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType337.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class DescriptionType336 + + +class TextType337(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType337) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType337.subclass: + return TextType337.subclass(*args_, **kwargs_) + else: + return TextType337(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType338(self, value): + # Validate type TextFormatType338, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType338' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType339(self, value): + # Validate type LanguageType339, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType339_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType339_patterns_, )) + validate_LanguageType339_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType337', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType337') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType337': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType337') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType337'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType337', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType338(self.TextFormat) # validate type TextFormatType338 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType339(self.Language) # validate type LanguageType339 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType337 + + +class PetsPoliciesType340(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PetsPolicy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PetsPolicy = PetsPolicy + self.PetsPolicy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PetsPoliciesType340) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PetsPoliciesType340.subclass: + return PetsPoliciesType340.subclass(*args_, **kwargs_) + else: + return PetsPoliciesType340(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PetsPolicy(self): + return self.PetsPolicy + def set_PetsPolicy(self, PetsPolicy): + self.PetsPolicy = PetsPolicy + def has__content(self): + if ( + self.PetsPolicy is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType340', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPoliciesType340') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PetsPoliciesType340': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPoliciesType340') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPoliciesType340', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPoliciesType340'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType340', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PetsPolicy is not None: + namespaceprefix_ = self.PetsPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicy_nsprefix_) else '' + self.PetsPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PetsPolicy': + obj_ = PetsPolicyType341.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PetsPolicy = obj_ + obj_.original_tagname_ = 'PetsPolicy' +# end class PetsPoliciesType340 + + +class PetsPolicyType341(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MaxPetQuantity = _cast(int, MaxPetQuantity) + self.MaxPetQuantity_nsprefix_ = None + self.NonRefundableFee = _cast(float, NonRefundableFee) + self.NonRefundableFee_nsprefix_ = None + self.ChargeCode = _cast(int, ChargeCode) + self.ChargeCode_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.DecimalPlaces = _cast(int, DecimalPlaces) + self.DecimalPlaces_nsprefix_ = None + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PetsPolicyType341) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PetsPolicyType341.subclass: + return PetsPolicyType341.subclass(*args_, **kwargs_) + else: + return PetsPolicyType341(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def get_MaxPetQuantity(self): + return self.MaxPetQuantity + def set_MaxPetQuantity(self, MaxPetQuantity): + self.MaxPetQuantity = MaxPetQuantity + def get_NonRefundableFee(self): + return self.NonRefundableFee + def set_NonRefundableFee(self, NonRefundableFee): + self.NonRefundableFee = NonRefundableFee + def get_ChargeCode(self): + return self.ChargeCode + def set_ChargeCode(self, ChargeCode): + self.ChargeCode = ChargeCode + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_DecimalPlaces(self): + return self.DecimalPlaces + def set_DecimalPlaces(self, DecimalPlaces): + self.DecimalPlaces = DecimalPlaces + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Description is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType341', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPolicyType341') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PetsPolicyType341': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPolicyType341') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPolicyType341', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPolicyType341'): + if self.MaxPetQuantity is not None and 'MaxPetQuantity' not in already_processed: + already_processed.add('MaxPetQuantity') + outfile.write(' MaxPetQuantity="%s"' % self.gds_format_integer(self.MaxPetQuantity, input_name='MaxPetQuantity')) + if self.NonRefundableFee is not None and 'NonRefundableFee' not in already_processed: + already_processed.add('NonRefundableFee') + outfile.write(' NonRefundableFee="%s"' % self.gds_format_decimal(self.NonRefundableFee, input_name='NonRefundableFee')) + if self.ChargeCode is not None and 'ChargeCode' not in already_processed: + already_processed.add('ChargeCode') + outfile.write(' ChargeCode="%s"' % self.gds_format_integer(self.ChargeCode, input_name='ChargeCode')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType341', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Description is not None: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MaxPetQuantity', node) + if value is not None and 'MaxPetQuantity' not in already_processed: + already_processed.add('MaxPetQuantity') + self.MaxPetQuantity = self.gds_parse_integer(value, node, 'MaxPetQuantity') + if self.MaxPetQuantity < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MaxPetQuantity) # validate type def_int_ge0 + value = find_attr_value_('NonRefundableFee', node) + if value is not None and 'NonRefundableFee' not in already_processed: + already_processed.add('NonRefundableFee') + value = self.gds_parse_decimal(value, node, 'NonRefundableFee') + self.NonRefundableFee = value + self.validate_def_decimal_ge0(self.NonRefundableFee) # validate type def_decimal_ge0 + value = find_attr_value_('ChargeCode', node) + if value is not None and 'ChargeCode' not in already_processed: + already_processed.add('ChargeCode') + self.ChargeCode = self.gds_parse_integer(value, node, 'ChargeCode') + if self.ChargeCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.ChargeCode) # validate type def_int_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('DecimalPlaces', node) + if value is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') + if self.DecimalPlaces <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType342.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description = obj_ + obj_.original_tagname_ = 'Description' +# end class PetsPolicyType341 + + +class DescriptionType342(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType342) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType342.subclass: + return DescriptionType342.subclass(*args_, **kwargs_) + else: + return DescriptionType342(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType342', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType342') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType342': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType342') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType342', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType342'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType342', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType343.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class DescriptionType342 + + +class TextType343(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType343) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType343.subclass: + return TextType343.subclass(*args_, **kwargs_) + else: + return TextType343(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType344(self, value): + # Validate type TextFormatType344, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType344' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType345(self, value): + # Validate type LanguageType345, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType345_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType345_patterns_, )) + validate_LanguageType345_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType343', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType343') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType343': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType343') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType343'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType343', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType344(self.TextFormat) # validate type TextFormatType344 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType345(self.Language) # validate type LanguageType345 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType343 + + +class TaxPoliciesType346(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TaxPolicy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TaxPolicy = TaxPolicy + self.TaxPolicy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TaxPoliciesType346) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TaxPoliciesType346.subclass: + return TaxPoliciesType346.subclass(*args_, **kwargs_) + else: + return TaxPoliciesType346(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TaxPolicy(self): + return self.TaxPolicy + def set_TaxPolicy(self, TaxPolicy): + self.TaxPolicy = TaxPolicy + def has__content(self): + if ( + self.TaxPolicy is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType346', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPoliciesType346') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TaxPoliciesType346': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPoliciesType346') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPoliciesType346', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPoliciesType346'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType346', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TaxPolicy is not None: + namespaceprefix_ = self.TaxPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicy_nsprefix_) else '' + self.TaxPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TaxPolicy': + obj_ = TaxPolicyType347.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TaxPolicy = obj_ + obj_.original_tagname_ = 'TaxPolicy' +# end class TaxPoliciesType346 + + +class TaxPolicyType347(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.DecimalPlaces = _cast(int, DecimalPlaces) + self.DecimalPlaces_nsprefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.ChargeFrequency = _cast(None, ChargeFrequency) + self.ChargeFrequency_nsprefix_ = None + self.ChargeUnit = _cast(None, ChargeUnit) + self.ChargeUnit_nsprefix_ = None + self.TaxDescription = TaxDescription + self.TaxDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TaxPolicyType347) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TaxPolicyType347.subclass: + return TaxPolicyType347.subclass(*args_, **kwargs_) + else: + return TaxPolicyType347(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TaxDescription(self): + return self.TaxDescription + def set_TaxDescription(self, TaxDescription): + self.TaxDescription = TaxDescription + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_DecimalPlaces(self): + return self.DecimalPlaces + def set_DecimalPlaces(self, DecimalPlaces): + self.DecimalPlaces = DecimalPlaces + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_ChargeFrequency(self): + return self.ChargeFrequency + def set_ChargeFrequency(self, ChargeFrequency): + self.ChargeFrequency = ChargeFrequency + def get_ChargeUnit(self): + return self.ChargeUnit + def set_ChargeUnit(self, ChargeUnit): + self.ChargeUnit = ChargeUnit + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_CodeType352(self, value): + # Validate type CodeType352, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['3'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeType352' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ChargeFrequencyType353(self, value): + # Validate type ChargeFrequencyType353, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeFrequencyType353' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ChargeUnitType354(self, value): + # Validate type ChargeUnitType354, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['21'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeUnitType354' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.TaxDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType347', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPolicyType347') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TaxPolicyType347': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPolicyType347') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPolicyType347', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPolicyType347'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.ChargeFrequency is not None and 'ChargeFrequency' not in already_processed: + already_processed.add('ChargeFrequency') + outfile.write(' ChargeFrequency=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeFrequency), input_name='ChargeFrequency')), )) + if self.ChargeUnit is not None and 'ChargeUnit' not in already_processed: + already_processed.add('ChargeUnit') + outfile.write(' ChargeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeUnit), input_name='ChargeUnit')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType347', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TaxDescription is not None: + namespaceprefix_ = self.TaxDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxDescription_nsprefix_) else '' + self.TaxDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('DecimalPlaces', node) + if value is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') + if self.DecimalPlaces <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType352(self.Code) # validate type CodeType352 + value = find_attr_value_('ChargeFrequency', node) + if value is not None and 'ChargeFrequency' not in already_processed: + already_processed.add('ChargeFrequency') + self.ChargeFrequency = value + self.validate_ChargeFrequencyType353(self.ChargeFrequency) # validate type ChargeFrequencyType353 + value = find_attr_value_('ChargeUnit', node) + if value is not None and 'ChargeUnit' not in already_processed: + already_processed.add('ChargeUnit') + self.ChargeUnit = value + self.validate_ChargeUnitType354(self.ChargeUnit) # validate type ChargeUnitType354 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TaxDescription': + obj_ = TaxDescriptionType348.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TaxDescription = obj_ + obj_.original_tagname_ = 'TaxDescription' +# end class TaxPolicyType347 + + +class TaxDescriptionType348(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TaxDescriptionType348) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TaxDescriptionType348.subclass: + return TaxDescriptionType348.subclass(*args_, **kwargs_) + else: + return TaxDescriptionType348(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType348', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxDescriptionType348') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TaxDescriptionType348': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxDescriptionType348') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxDescriptionType348', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxDescriptionType348'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType348', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType349.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class TaxDescriptionType348 + + +class TextType349(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType349) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType349.subclass: + return TextType349.subclass(*args_, **kwargs_) + else: + return TextType349(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType350(self, value): + # Validate type TextFormatType350, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType350' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType351(self, value): + # Validate type LanguageType351, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType351_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType351_patterns_, )) + validate_LanguageType351_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType349', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType349') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType349': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType349') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType349'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType349', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType350(self.TextFormat) # validate type TextFormatType350 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType351(self.Language) # validate type LanguageType351 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType349 + + +class GuaranteePaymentPolicyType355(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteePayment = GuaranteePayment + self.GuaranteePayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteePaymentPolicyType355) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteePaymentPolicyType355.subclass: + return GuaranteePaymentPolicyType355.subclass(*args_, **kwargs_) + else: + return GuaranteePaymentPolicyType355(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteePayment(self): + return self.GuaranteePayment + def set_GuaranteePayment(self, GuaranteePayment): + self.GuaranteePayment = GuaranteePayment + def has__content(self): + if ( + self.GuaranteePayment is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType355', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentPolicyType355') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteePaymentPolicyType355': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentPolicyType355') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentPolicyType355', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentPolicyType355'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType355', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuaranteePayment is not None: + namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' + self.GuaranteePayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteePayment': + obj_ = GuaranteePaymentType356.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteePayment = obj_ + obj_.original_tagname_ = 'GuaranteePayment' +# end class GuaranteePaymentPolicyType355 + + +class GuaranteePaymentType356(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AcceptedPayments = AcceptedPayments + self.AcceptedPayments_nsprefix_ = None + self.AmountPercent = AmountPercent + self.AmountPercent_nsprefix_ = None + self.Deadline = Deadline + self.Deadline_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteePaymentType356) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteePaymentType356.subclass: + return GuaranteePaymentType356.subclass(*args_, **kwargs_) + else: + return GuaranteePaymentType356(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayments(self): + return self.AcceptedPayments + def set_AcceptedPayments(self, AcceptedPayments): + self.AcceptedPayments = AcceptedPayments + def get_AmountPercent(self): + return self.AmountPercent + def set_AmountPercent(self, AmountPercent): + self.AmountPercent = AmountPercent + def get_Deadline(self): + return self.Deadline + def set_Deadline(self, Deadline): + self.Deadline = Deadline + def has__content(self): + if ( + self.AcceptedPayments is not None or + self.AmountPercent is not None or + self.Deadline is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType356', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType356') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType356': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType356') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType356', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType356'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType356', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AcceptedPayments is not None: + namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' + self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) + if self.AmountPercent is not None: + namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' + self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) + if self.Deadline is not None: + namespaceprefix_ = self.Deadline_nsprefix_ + ':' if (UseCapturedNS_ and self.Deadline_nsprefix_) else '' + self.Deadline.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Deadline', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayments': + obj_ = AcceptedPaymentsType357.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayments = obj_ + obj_.original_tagname_ = 'AcceptedPayments' + elif nodeName_ == 'AmountPercent': + obj_ = AmountPercentType368.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AmountPercent = obj_ + obj_.original_tagname_ = 'AmountPercent' + elif nodeName_ == 'Deadline': + obj_ = DeadlineType369.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Deadline = obj_ + obj_.original_tagname_ = 'Deadline' +# end class GuaranteePaymentType356 + + +class AcceptedPaymentsType357(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if AcceptedPayment is None: + self.AcceptedPayment = [] + else: + self.AcceptedPayment = AcceptedPayment + self.AcceptedPayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentsType357) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentsType357.subclass: + return AcceptedPaymentsType357.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentsType357(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayment(self): + return self.AcceptedPayment + def set_AcceptedPayment(self, AcceptedPayment): + self.AcceptedPayment = AcceptedPayment + def add_AcceptedPayment(self, value): + self.AcceptedPayment.append(value) + def insert_AcceptedPayment_at(self, index, value): + self.AcceptedPayment.insert(index, value) + def replace_AcceptedPayment_at(self, index, value): + self.AcceptedPayment[index] = value + def has__content(self): + if ( + self.AcceptedPayment + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType357', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType357') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType357': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType357') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType357', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType357'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType357', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for AcceptedPayment_ in self.AcceptedPayment: + namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' + AcceptedPayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayment': + obj_ = AcceptedPaymentType358.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayment.append(obj_) + obj_.original_tagname_ = 'AcceptedPayment' +# end class AcceptedPaymentsType357 + + +class AcceptedPaymentType358(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BankAcct = BankAcct + self.BankAcct_nsprefix_ = None + self.Cash = Cash + self.Cash_nsprefix_ = None + self.PaymentCard = PaymentCard + self.PaymentCard_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentType358) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentType358.subclass: + return AcceptedPaymentType358.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentType358(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BankAcct(self): + return self.BankAcct + def set_BankAcct(self, BankAcct): + self.BankAcct = BankAcct + def get_Cash(self): + return self.Cash + def set_Cash(self, Cash): + self.Cash = Cash + def get_PaymentCard(self): + return self.PaymentCard + def set_PaymentCard(self, PaymentCard): + self.PaymentCard = PaymentCard + def has__content(self): + if ( + self.BankAcct is not None or + self.Cash is not None or + self.PaymentCard is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType358', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType358') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType358': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType358') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType358', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType358'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType358', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BankAcct is not None: + namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' + self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) + if self.Cash is not None: + namespaceprefix_ = self.Cash_nsprefix_ + ':' if (UseCapturedNS_ and self.Cash_nsprefix_) else '' + self.Cash.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Cash', pretty_print=pretty_print) + if self.PaymentCard is not None: + namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' + self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BankAcct': + obj_ = BankAcctType359.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcct = obj_ + obj_.original_tagname_ = 'BankAcct' + elif nodeName_ == 'Cash': + obj_ = CashType365.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Cash = obj_ + obj_.original_tagname_ = 'Cash' + elif nodeName_ == 'PaymentCard': + obj_ = PaymentCardType366.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PaymentCard = obj_ + obj_.original_tagname_ = 'PaymentCard' +# end class AcceptedPaymentType358 + + +class BankAcctType359(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BankAcctName = BankAcctName + self.BankAcctName_nsprefix_ = None + self.BankAcctNumber = BankAcctNumber + self.BankAcctNumber_nsprefix_ = None + self.BankID = BankID + self.BankID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctType359) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctType359.subclass: + return BankAcctType359.subclass(*args_, **kwargs_) + else: + return BankAcctType359(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BankAcctName(self): + return self.BankAcctName + def set_BankAcctName(self, BankAcctName): + self.BankAcctName = BankAcctName + def get_BankAcctNumber(self): + return self.BankAcctNumber + def set_BankAcctNumber(self, BankAcctNumber): + self.BankAcctNumber = BankAcctNumber + def get_BankID(self): + return self.BankID + def set_BankID(self, BankID): + self.BankID = BankID + def has__content(self): + if ( + self.BankAcctName is not None or + self.BankAcctNumber is not None or + self.BankID is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType359', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType359') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctType359': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType359') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType359', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType359'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType359', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BankAcctName is not None: + namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' + self.BankAcctName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctName', pretty_print=pretty_print) + if self.BankAcctNumber is not None: + namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' + self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) + if self.BankID is not None: + namespaceprefix_ = self.BankID_nsprefix_ + ':' if (UseCapturedNS_ and self.BankID_nsprefix_) else '' + self.BankID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankID', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BankAcctName': + obj_ = BankAcctNameType360.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcctName = obj_ + obj_.original_tagname_ = 'BankAcctName' + elif nodeName_ == 'BankAcctNumber': + obj_ = BankAcctNumberType361.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcctNumber = obj_ + obj_.original_tagname_ = 'BankAcctNumber' + elif nodeName_ == 'BankID': + obj_ = BankIDType363.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankID = obj_ + obj_.original_tagname_ = 'BankID' +# end class BankAcctType359 + + +class BankAcctNameType360(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctNameType360) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctNameType360.subclass: + return BankAcctNameType360.subclass(*args_, **kwargs_) + else: + return BankAcctNameType360(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType360', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNameType360') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctNameType360': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNameType360') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNameType360'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType360', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BankAcctNameType360 + + +class BankAcctNumberType361(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PlainText = PlainText + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctNumberType361) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctNumberType361.subclass: + return BankAcctNumberType361.subclass(*args_, **kwargs_) + else: + return BankAcctNumberType361(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType361', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType361') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctNumberType361': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType361') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType361', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType361'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType361', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + obj_ = PlainTextType362.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PlainText = obj_ + obj_.original_tagname_ = 'PlainText' +# end class BankAcctNumberType361 + + +class PlainTextType362(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PlainTextType362) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PlainTextType362.subclass: + return PlainTextType362.subclass(*args_, **kwargs_) + else: + return PlainTextType362(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_NumericStringLength1to19(self, value): + result = True + # Validate type NumericStringLength1to19, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to19_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) + result = False + return result + validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType362', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType362') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PlainTextType362': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType362') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType362'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType362', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PlainTextType362 + + +class BankIDType363(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PlainText = PlainText + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankIDType363) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankIDType363.subclass: + return BankIDType363.subclass(*args_, **kwargs_) + else: + return BankIDType363(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType363', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankIDType363') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankIDType363': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankIDType363') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankIDType363', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankIDType363'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType363', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + obj_ = PlainTextType364.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PlainText = obj_ + obj_.original_tagname_ = 'PlainText' +# end class BankIDType363 + + +class PlainTextType364(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PlainTextType364) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PlainTextType364.subclass: + return PlainTextType364.subclass(*args_, **kwargs_) + else: + return PlainTextType364(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_NumericStringLength1to19(self, value): + result = True + # Validate type NumericStringLength1to19, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to19_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) + result = False + return result + validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType364', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType364') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PlainTextType364': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType364') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType364'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType364', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PlainTextType364 + + +class CashType365(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CashIndicator=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CashIndicator = _cast(bool, CashIndicator) + self.CashIndicator_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CashType365) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CashType365.subclass: + return CashType365.subclass(*args_, **kwargs_) + else: + return CashType365(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CashIndicator(self): + return self.CashIndicator + def set_CashIndicator(self, CashIndicator): + self.CashIndicator = CashIndicator + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType365', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CashType365') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CashType365': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CashType365') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CashType365', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CashType365'): + if self.CashIndicator is not None and 'CashIndicator' not in already_processed: + already_processed.add('CashIndicator') + outfile.write(' CashIndicator="%s"' % self.gds_format_boolean(self.CashIndicator, input_name='CashIndicator')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType365', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CashIndicator', node) + if value is not None and 'CashIndicator' not in already_processed: + already_processed.add('CashIndicator') + if value in ('true', '1'): + self.CashIndicator = True + elif value in ('false', '0'): + self.CashIndicator = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.CashIndicator) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CashType365 + + +class PaymentCardType366(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CardCode=None, CardType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CardCode = _cast(None, CardCode) + self.CardCode_nsprefix_ = None + self.CardType = CardType + self.CardType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PaymentCardType366) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PaymentCardType366.subclass: + return PaymentCardType366.subclass(*args_, **kwargs_) + else: + return PaymentCardType366(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CardType(self): + return self.CardType + def set_CardType(self, CardType): + self.CardType = CardType + def get_CardCode(self): + return self.CardCode + def set_CardCode(self, CardCode): + self.CardCode = CardCode + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.CardType is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType366', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType366') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PaymentCardType366': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType366') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType366', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType366'): + if self.CardCode is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType366', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CardType is not None: + namespaceprefix_ = self.CardType_nsprefix_ + ':' if (UseCapturedNS_ and self.CardType_nsprefix_) else '' + self.CardType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardType', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CardCode', node) + if value is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + self.CardCode = value + self.validate_def_nonempty_string(self.CardCode) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CardType': + obj_ = CardTypeType367.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CardType = obj_ + obj_.original_tagname_ = 'CardType' +# end class PaymentCardType366 + + +class CardTypeType367(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CardTypeType367) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CardTypeType367.subclass: + return CardTypeType367.subclass(*args_, **kwargs_) + else: + return CardTypeType367(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType367', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardTypeType367') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CardTypeType367': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardTypeType367') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardTypeType367'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType367', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CardTypeType367 + + +class AmountPercentType368(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Percent=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Percent = _cast(float, Percent) + self.Percent_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmountPercentType368) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmountPercentType368.subclass: + return AmountPercentType368.subclass(*args_, **kwargs_) + else: + return AmountPercentType368(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Percent(self): + return self.Percent + def set_Percent(self, Percent): + self.Percent = Percent + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType368', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType368') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmountPercentType368': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType368') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType368', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType368'): + if self.Percent is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + outfile.write(' Percent="%s"' % self.gds_format_decimal(self.Percent, input_name='Percent')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType368', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Percent', node) + if value is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + value = self.gds_parse_decimal(value, node, 'Percent') + self.Percent = value + self.validate_def_decimal_gt0(self.Percent) # validate type def_decimal_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AmountPercentType368 + + +class DeadlineType369(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.OffsetDropTime = _cast(None, OffsetDropTime) + self.OffsetDropTime_nsprefix_ = None + self.OffsetTimeUnit = _cast(None, OffsetTimeUnit) + self.OffsetTimeUnit_nsprefix_ = None + self.OffsetUnitMultiplier = _cast(int, OffsetUnitMultiplier) + self.OffsetUnitMultiplier_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DeadlineType369) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DeadlineType369.subclass: + return DeadlineType369.subclass(*args_, **kwargs_) + else: + return DeadlineType369(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_OffsetDropTime(self): + return self.OffsetDropTime + def set_OffsetDropTime(self, OffsetDropTime): + self.OffsetDropTime = OffsetDropTime + def get_OffsetTimeUnit(self): + return self.OffsetTimeUnit + def set_OffsetTimeUnit(self, OffsetTimeUnit): + self.OffsetTimeUnit = OffsetTimeUnit + def get_OffsetUnitMultiplier(self): + return self.OffsetUnitMultiplier + def set_OffsetUnitMultiplier(self, OffsetUnitMultiplier): + self.OffsetUnitMultiplier = OffsetUnitMultiplier + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_TimeUnitType(self, value): + # Validate type TimeUnitType, a restriction on StringLength1to16. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Year', 'Month', 'Week', 'Day', 'Hour', 'Second', 'FullDuration', 'Minute'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on TimeUnitType' % {"value": value, "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on TimeUnitType' % {"value" : value, "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType369', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DeadlineType369') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DeadlineType369': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DeadlineType369') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DeadlineType369', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DeadlineType369'): + if self.OffsetDropTime is not None and 'OffsetDropTime' not in already_processed: + already_processed.add('OffsetDropTime') + outfile.write(' OffsetDropTime=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.OffsetDropTime), input_name='OffsetDropTime')), )) + if self.OffsetTimeUnit is not None and 'OffsetTimeUnit' not in already_processed: + already_processed.add('OffsetTimeUnit') + outfile.write(' OffsetTimeUnit=%s' % (quote_attrib(self.OffsetTimeUnit), )) + if self.OffsetUnitMultiplier is not None and 'OffsetUnitMultiplier' not in already_processed: + already_processed.add('OffsetUnitMultiplier') + outfile.write(' OffsetUnitMultiplier="%s"' % self.gds_format_integer(self.OffsetUnitMultiplier, input_name='OffsetUnitMultiplier')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType369', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('OffsetDropTime', node) + if value is not None and 'OffsetDropTime' not in already_processed: + already_processed.add('OffsetDropTime') + self.OffsetDropTime = value + self.validate_def_nonempty_string(self.OffsetDropTime) # validate type def_nonempty_string + value = find_attr_value_('OffsetTimeUnit', node) + if value is not None and 'OffsetTimeUnit' not in already_processed: + already_processed.add('OffsetTimeUnit') + self.OffsetTimeUnit = value + self.validate_TimeUnitType(self.OffsetTimeUnit) # validate type TimeUnitType + value = find_attr_value_('OffsetUnitMultiplier', node) + if value is not None and 'OffsetUnitMultiplier' not in already_processed: + already_processed.add('OffsetUnitMultiplier') + self.OffsetUnitMultiplier = self.gds_parse_integer(value, node, 'OffsetUnitMultiplier') + if self.OffsetUnitMultiplier < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.OffsetUnitMultiplier) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DeadlineType369 + + +class PolicyInfoType370(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MinGuestAge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MinGuestAge = _cast(int, MinGuestAge) + self.MinGuestAge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PolicyInfoType370) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PolicyInfoType370.subclass: + return PolicyInfoType370.subclass(*args_, **kwargs_) + else: + return PolicyInfoType370(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MinGuestAge(self): + return self.MinGuestAge + def set_MinGuestAge(self, MinGuestAge): + self.MinGuestAge = MinGuestAge + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType370', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyInfoType370') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PolicyInfoType370': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyInfoType370') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyInfoType370', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyInfoType370'): + if self.MinGuestAge is not None and 'MinGuestAge' not in already_processed: + already_processed.add('MinGuestAge') + outfile.write(' MinGuestAge="%s"' % self.gds_format_integer(self.MinGuestAge, input_name='MinGuestAge')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType370', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MinGuestAge', node) + if value is not None and 'MinGuestAge' not in already_processed: + already_processed.add('MinGuestAge') + self.MinGuestAge = self.gds_parse_integer(value, node, 'MinGuestAge') + if self.MinGuestAge < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MinGuestAge) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PolicyInfoType370 + + +class StayRequirementsType371(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StayRequirement=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if StayRequirement is None: + self.StayRequirement = [] + else: + self.StayRequirement = StayRequirement + self.StayRequirement_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StayRequirementsType371) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StayRequirementsType371.subclass: + return StayRequirementsType371.subclass(*args_, **kwargs_) + else: + return StayRequirementsType371(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StayRequirement(self): + return self.StayRequirement + def set_StayRequirement(self, StayRequirement): + self.StayRequirement = StayRequirement + def add_StayRequirement(self, value): + self.StayRequirement.append(value) + def insert_StayRequirement_at(self, index, value): + self.StayRequirement.insert(index, value) + def replace_StayRequirement_at(self, index, value): + self.StayRequirement[index] = value + def has__content(self): + if ( + self.StayRequirement + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType371', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementsType371') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StayRequirementsType371': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementsType371') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementsType371', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementsType371'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType371', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for StayRequirement_ in self.StayRequirement: + namespaceprefix_ = self.StayRequirement_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirement_nsprefix_) else '' + StayRequirement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirement', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'StayRequirement': + obj_ = StayRequirementType372.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StayRequirement.append(obj_) + obj_.original_tagname_ = 'StayRequirement' +# end class StayRequirementsType371 + + +class StayRequirementType372(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StayContext=None, Start=None, End=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.StayContext = _cast(None, StayContext) + self.StayContext_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StayRequirementType372) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StayRequirementType372.subclass: + return StayRequirementType372.subclass(*args_, **kwargs_) + else: + return StayRequirementType372(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StayContext(self): + return self.StayContext + def set_StayContext(self, StayContext): + self.StayContext = StayContext + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_StayContextType373(self, value): + # Validate type StayContextType373, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Checkin', 'Checkout'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StayContextType373' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StartType374(self, value): + # Validate type StartType374, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_StartType374_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_StartType374_patterns_, )) + validate_StartType374_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] + def validate_EndType375(self, value): + # Validate type EndType375, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_EndType375_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_EndType375_patterns_, )) + validate_EndType375_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType372', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementType372') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StayRequirementType372': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementType372') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementType372', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementType372'): + if self.StayContext is not None and 'StayContext' not in already_processed: + already_processed.add('StayContext') + outfile.write(' StayContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StayContext), input_name='StayContext')), )) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.End), input_name='End')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType372', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('StayContext', node) + if value is not None and 'StayContext' not in already_processed: + already_processed.add('StayContext') + self.StayContext = value + self.validate_StayContextType373(self.StayContext) # validate type StayContextType373 + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + self.Start = value + self.validate_StartType374(self.Start) # validate type StartType374 + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + self.End = value + self.validate_EndType375(self.End) # validate type EndType375 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class StayRequirementType372 + + +class AffiliationInfoType376(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Awards=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Awards = Awards + self.Awards_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AffiliationInfoType376) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AffiliationInfoType376.subclass: + return AffiliationInfoType376.subclass(*args_, **kwargs_) + else: + return AffiliationInfoType376(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Awards(self): + return self.Awards + def set_Awards(self, Awards): + self.Awards = Awards + def has__content(self): + if ( + self.Awards is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType376', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AffiliationInfoType376') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AffiliationInfoType376': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AffiliationInfoType376') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AffiliationInfoType376', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AffiliationInfoType376'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType376', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Awards is not None: + namespaceprefix_ = self.Awards_nsprefix_ + ':' if (UseCapturedNS_ and self.Awards_nsprefix_) else '' + self.Awards.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Awards', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Awards': + obj_ = AwardsType377.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Awards = obj_ + obj_.original_tagname_ = 'Awards' +# end class AffiliationInfoType376 + + +class AwardsType377(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Award=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Award is None: + self.Award = [] + else: + self.Award = Award + self.Award_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AwardsType377) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AwardsType377.subclass: + return AwardsType377.subclass(*args_, **kwargs_) + else: + return AwardsType377(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Award(self): + return self.Award + def set_Award(self, Award): + self.Award = Award + def add_Award(self, value): + self.Award.append(value) + def insert_Award_at(self, index, value): + self.Award.insert(index, value) + def replace_Award_at(self, index, value): + self.Award[index] = value + def has__content(self): + if ( + self.Award + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType377', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardsType377') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AwardsType377': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardsType377') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardsType377', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardsType377'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType377', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Award_ in self.Award: + namespaceprefix_ = self.Award_nsprefix_ + ':' if (UseCapturedNS_ and self.Award_nsprefix_) else '' + Award_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Award', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Award': + obj_ = AwardType378.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Award.append(obj_) + obj_.original_tagname_ = 'Award' +# end class AwardsType377 + + +class AwardType378(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Rating = _cast(float, Rating) + self.Rating_nsprefix_ = None + self.Provider = _cast(None, Provider) + self.Provider_nsprefix_ = None + self.RatingSymbol = _cast(None, RatingSymbol) + self.RatingSymbol_nsprefix_ = None + self.OfficialAppointmentInd = _cast(bool, OfficialAppointmentInd) + self.OfficialAppointmentInd_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AwardType378) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AwardType378.subclass: + return AwardType378.subclass(*args_, **kwargs_) + else: + return AwardType378(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rating(self): + return self.Rating + def set_Rating(self, Rating): + self.Rating = Rating + def get_Provider(self): + return self.Provider + def set_Provider(self, Provider): + self.Provider = Provider + def get_RatingSymbol(self): + return self.RatingSymbol + def set_RatingSymbol(self, RatingSymbol): + self.RatingSymbol = RatingSymbol + def get_OfficialAppointmentInd(self): + return self.OfficialAppointmentInd + def set_OfficialAppointmentInd(self, OfficialAppointmentInd): + self.OfficialAppointmentInd = OfficialAppointmentInd + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType378', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardType378') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AwardType378': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardType378') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardType378', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardType378'): + if self.Rating is not None and 'Rating' not in already_processed: + already_processed.add('Rating') + outfile.write(' Rating="%s"' % self.gds_format_decimal(self.Rating, input_name='Rating')) + if self.Provider is not None and 'Provider' not in already_processed: + already_processed.add('Provider') + outfile.write(' Provider=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Provider), input_name='Provider')), )) + if self.RatingSymbol is not None and 'RatingSymbol' not in already_processed: + already_processed.add('RatingSymbol') + outfile.write(' RatingSymbol=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatingSymbol), input_name='RatingSymbol')), )) + if self.OfficialAppointmentInd is not None and 'OfficialAppointmentInd' not in already_processed: + already_processed.add('OfficialAppointmentInd') + outfile.write(' OfficialAppointmentInd="%s"' % self.gds_format_boolean(self.OfficialAppointmentInd, input_name='OfficialAppointmentInd')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType378', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Rating', node) + if value is not None and 'Rating' not in already_processed: + already_processed.add('Rating') + value = self.gds_parse_decimal(value, node, 'Rating') + self.Rating = value + self.validate_def_decimal_ge0(self.Rating) # validate type def_decimal_ge0 + value = find_attr_value_('Provider', node) + if value is not None and 'Provider' not in already_processed: + already_processed.add('Provider') + self.Provider = value + self.validate_def_nonempty_string(self.Provider) # validate type def_nonempty_string + value = find_attr_value_('RatingSymbol', node) + if value is not None and 'RatingSymbol' not in already_processed: + already_processed.add('RatingSymbol') + self.RatingSymbol = value + self.validate_def_nonempty_string(self.RatingSymbol) # validate type def_nonempty_string + value = find_attr_value_('OfficialAppointmentInd', node) + if value is not None and 'OfficialAppointmentInd' not in already_processed: + already_processed.add('OfficialAppointmentInd') + if value in ('true', '1'): + self.OfficialAppointmentInd = True + elif value in ('false', '0'): + self.OfficialAppointmentInd = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.OfficialAppointmentInd) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AwardType378 + + +class ContactInfosType379(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ContactInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ContactInfo = ContactInfo + self.ContactInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ContactInfosType379) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ContactInfosType379.subclass: + return ContactInfosType379.subclass(*args_, **kwargs_) + else: + return ContactInfosType379(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ContactInfo(self): + return self.ContactInfo + def set_ContactInfo(self, ContactInfo): + self.ContactInfo = ContactInfo + def has__content(self): + if ( + self.ContactInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType379', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfosType379') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ContactInfosType379': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfosType379') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfosType379', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfosType379'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType379', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ContactInfo is not None: + namespaceprefix_ = self.ContactInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfo_nsprefix_) else '' + self.ContactInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ContactInfo': + obj_ = ContactInfoType380.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ContactInfo = obj_ + obj_.original_tagname_ = 'ContactInfo' +# end class ContactInfosType379 + + +class ContactInfoType380(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Location = _cast(None, Location) + self.Location_nsprefix_ = None + self.Addresses = Addresses + self.Addresses_nsprefix_ = None + self.Phones = Phones + self.Phones_nsprefix_ = None + self.Emails = Emails + self.Emails_nsprefix_ = None + self.URLs = URLs + self.URLs_nsprefix_ = None + self.CompanyName = CompanyName + self.CompanyName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ContactInfoType380) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ContactInfoType380.subclass: + return ContactInfoType380.subclass(*args_, **kwargs_) + else: + return ContactInfoType380(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Addresses(self): + return self.Addresses + def set_Addresses(self, Addresses): + self.Addresses = Addresses + def get_Phones(self): + return self.Phones + def set_Phones(self, Phones): + self.Phones = Phones + def get_Emails(self): + return self.Emails + def set_Emails(self, Emails): + self.Emails = Emails + def get_URLs(self): + return self.URLs + def set_URLs(self, URLs): + self.URLs = URLs + def get_CompanyName(self): + return self.CompanyName + def set_CompanyName(self, CompanyName): + self.CompanyName = CompanyName + def get_Location(self): + return self.Location + def set_Location(self, Location): + self.Location = Location + def validate_LocationType395(self, value): + # Validate type LocationType395, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['6'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on LocationType395' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Addresses is not None or + self.Phones is not None or + self.Emails is not None or + self.URLs is not None or + self.CompanyName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType380', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfoType380') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ContactInfoType380': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfoType380') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfoType380', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfoType380'): + if self.Location is not None and 'Location' not in already_processed: + already_processed.add('Location') + outfile.write(' Location=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Location), input_name='Location')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType380', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Addresses is not None: + namespaceprefix_ = self.Addresses_nsprefix_ + ':' if (UseCapturedNS_ and self.Addresses_nsprefix_) else '' + self.Addresses.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Addresses', pretty_print=pretty_print) + if self.Phones is not None: + namespaceprefix_ = self.Phones_nsprefix_ + ':' if (UseCapturedNS_ and self.Phones_nsprefix_) else '' + self.Phones.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phones', pretty_print=pretty_print) + if self.Emails is not None: + namespaceprefix_ = self.Emails_nsprefix_ + ':' if (UseCapturedNS_ and self.Emails_nsprefix_) else '' + self.Emails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Emails', pretty_print=pretty_print) + if self.URLs is not None: + namespaceprefix_ = self.URLs_nsprefix_ + ':' if (UseCapturedNS_ and self.URLs_nsprefix_) else '' + self.URLs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URLs', pretty_print=pretty_print) + if self.CompanyName is not None: + namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' + self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Location', node) + if value is not None and 'Location' not in already_processed: + already_processed.add('Location') + self.Location = value + self.validate_LocationType395(self.Location) # validate type LocationType395 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Addresses': + obj_ = AddressesType381.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Addresses = obj_ + obj_.original_tagname_ = 'Addresses' + elif nodeName_ == 'Phones': + obj_ = PhonesType387.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Phones = obj_ + obj_.original_tagname_ = 'Phones' + elif nodeName_ == 'Emails': + obj_ = EmailsType390.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Emails = obj_ + obj_.original_tagname_ = 'Emails' + elif nodeName_ == 'URLs': + obj_ = URLsType392.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.URLs = obj_ + obj_.original_tagname_ = 'URLs' + elif nodeName_ == 'CompanyName': + obj_ = CompanyNameType394.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CompanyName = obj_ + obj_.original_tagname_ = 'CompanyName' +# end class ContactInfoType380 + + +class AddressesType381(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Address=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Address is None: + self.Address = [] + else: + self.Address = Address + self.Address_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressesType381) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressesType381.subclass: + return AddressesType381.subclass(*args_, **kwargs_) + else: + return AddressesType381(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Address(self): + return self.Address + def set_Address(self, Address): + self.Address = Address + def add_Address(self, value): + self.Address.append(value) + def insert_Address_at(self, index, value): + self.Address.insert(index, value) + def replace_Address_at(self, index, value): + self.Address[index] = value + def has__content(self): + if ( + self.Address + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType381', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressesType381') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressesType381': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressesType381') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressesType381', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressesType381'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType381', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Address_ in self.Address: + namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' + Address_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Address': + obj_ = AddressType382.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Address.append(obj_) + obj_.original_tagname_ = 'Address' +# end class AddressesType381 + + +class AddressType382(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.AddressLine = AddressLine + self.validate_StringLength1to255(self.AddressLine) + self.AddressLine_nsprefix_ = None + self.CityName = CityName + self.validate_StringLength1to64(self.CityName) + self.CityName_nsprefix_ = None + self.PostalCode = PostalCode + self.validate_StringLength1to16(self.PostalCode) + self.PostalCode_nsprefix_ = None + self.StateProv = StateProv + self.StateProv_nsprefix_ = None + self.CountryName = CountryName + self.CountryName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressType382) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressType382.subclass: + return AddressType382.subclass(*args_, **kwargs_) + else: + return AddressType382(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AddressLine(self): + return self.AddressLine + def set_AddressLine(self, AddressLine): + self.AddressLine = AddressLine + def get_CityName(self): + return self.CityName + def set_CityName(self, CityName): + self.CityName = CityName + def get_PostalCode(self): + return self.PostalCode + def set_PostalCode(self, PostalCode): + self.PostalCode = PostalCode + def get_StateProv(self): + return self.StateProv + def set_StateProv(self, StateProv): + self.StateProv = StateProv + def get_CountryName(self): + return self.CountryName + def set_CountryName(self, CountryName): + self.CountryName = CountryName + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def validate_StringLength1to255(self, value): + result = True + # Validate type StringLength1to255, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 255: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_LanguageType386(self, value): + # Validate type LanguageType386, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType386_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType386_patterns_, )) + validate_LanguageType386_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + self.AddressLine is not None or + self.CityName is not None or + self.PostalCode is not None or + self.StateProv is not None or + self.CountryName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType382', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType382') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressType382': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType382') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType382', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType382'): + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType382', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AddressLine is not None: + namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) + if self.CityName is not None: + namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) + if self.PostalCode is not None: + namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) + if self.StateProv is not None: + namespaceprefix_ = self.StateProv_nsprefix_ + ':' if (UseCapturedNS_ and self.StateProv_nsprefix_) else '' + self.StateProv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StateProv', pretty_print=pretty_print) + if self.CountryName is not None: + namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' + self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType386(self.Language) # validate type LanguageType386 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AddressLine': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine') + value_ = self.gds_validate_string(value_, node, 'AddressLine') + self.AddressLine = value_ + self.AddressLine_nsprefix_ = child_.prefix + # validate type StringLength1to255 + self.validate_StringLength1to255(self.AddressLine) + elif nodeName_ == 'CityName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CityName') + value_ = self.gds_validate_string(value_, node, 'CityName') + self.CityName = value_ + self.CityName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CityName) + elif nodeName_ == 'PostalCode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PostalCode') + value_ = self.gds_validate_string(value_, node, 'PostalCode') + self.PostalCode = value_ + self.PostalCode_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.PostalCode) + elif nodeName_ == 'StateProv': + obj_ = StateProvType383.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StateProv = obj_ + obj_.original_tagname_ = 'StateProv' + elif nodeName_ == 'CountryName': + obj_ = CountryNameType384.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CountryName = obj_ + obj_.original_tagname_ = 'CountryName' +# end class AddressType382 + + +class StateProvType383(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StateCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.StateCode = _cast(None, StateCode) + self.StateCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StateProvType383) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StateProvType383.subclass: + return StateProvType383.subclass(*args_, **kwargs_) + else: + return StateProvType383(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StateCode(self): + return self.StateCode + def set_StateCode(self, StateCode): + self.StateCode = StateCode + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType383', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StateProvType383') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StateProvType383': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StateProvType383') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StateProvType383', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StateProvType383'): + if self.StateCode is not None and 'StateCode' not in already_processed: + already_processed.add('StateCode') + outfile.write(' StateCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StateCode), input_name='StateCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType383', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('StateCode', node) + if value is not None and 'StateCode' not in already_processed: + already_processed.add('StateCode') + self.StateCode = value + self.validate_def_nonempty_string(self.StateCode) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class StateProvType383 + + +class CountryNameType384(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CountryNameType384) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CountryNameType384.subclass: + return CountryNameType384.subclass(*args_, **kwargs_) + else: + return CountryNameType384(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def validate_CodeType385(self, value): + # Validate type CodeType385, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CodeType385_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType385_patterns_, )) + validate_CodeType385_patterns_ = [['^([A-Z][A-Z])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType384', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType384') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CountryNameType384': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType384') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType384', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType384'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType384', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType385(self.Code) # validate type CodeType385 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CountryNameType384 + + +class PhonesType387(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Phone=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Phone is None: + self.Phone = [] + else: + self.Phone = Phone + self.Phone_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PhonesType387) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PhonesType387.subclass: + return PhonesType387.subclass(*args_, **kwargs_) + else: + return PhonesType387(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Phone(self): + return self.Phone + def set_Phone(self, Phone): + self.Phone = Phone + def add_Phone(self, value): + self.Phone.append(value) + def insert_Phone_at(self, index, value): + self.Phone.insert(index, value) + def replace_Phone_at(self, index, value): + self.Phone[index] = value + def has__content(self): + if ( + self.Phone + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType387', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhonesType387') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PhonesType387': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhonesType387') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhonesType387', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhonesType387'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType387', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Phone_ in self.Phone: + namespaceprefix_ = self.Phone_nsprefix_ + ':' if (UseCapturedNS_ and self.Phone_nsprefix_) else '' + Phone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phone', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Phone': + obj_ = PhoneType388.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Phone.append(obj_) + obj_.original_tagname_ = 'Phone' +# end class PhonesType387 + + +class PhoneType388(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PhoneTechType = _cast(None, PhoneTechType) + self.PhoneTechType_nsprefix_ = None + self.PhoneNumber = _cast(None, PhoneNumber) + self.PhoneNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PhoneType388) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PhoneType388.subclass: + return PhoneType388.subclass(*args_, **kwargs_) + else: + return PhoneType388(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PhoneTechType(self): + return self.PhoneTechType + def set_PhoneTechType(self, PhoneTechType): + self.PhoneTechType = PhoneTechType + def get_PhoneNumber(self): + return self.PhoneNumber + def set_PhoneNumber(self, PhoneNumber): + self.PhoneNumber = PhoneNumber + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_PhoneNumberType389(self, value): + # Validate type PhoneNumberType389, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneNumberType389_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType389_patterns_, )) + validate_PhoneNumberType389_patterns_ = [['^(\\+?[0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType388', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhoneType388') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PhoneType388': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhoneType388') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhoneType388', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhoneType388'): + if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) + if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType388', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('PhoneTechType', node) + if value is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + self.PhoneTechType = value + self.validate_def_nonempty_string(self.PhoneTechType) # validate type def_nonempty_string + value = find_attr_value_('PhoneNumber', node) + if value is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + self.PhoneNumber = value + self.validate_PhoneNumberType389(self.PhoneNumber) # validate type PhoneNumberType389 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PhoneType388 + + +class EmailsType390(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Email=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Email is None: + self.Email = [] + else: + self.Email = Email + self.Email_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EmailsType390) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EmailsType390.subclass: + return EmailsType390.subclass(*args_, **kwargs_) + else: + return EmailsType390(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Email(self): + return self.Email + def set_Email(self, Email): + self.Email = Email + def add_Email(self, value): + self.Email.append(value) + def insert_Email_at(self, index, value): + self.Email.insert(index, value) + def replace_Email_at(self, index, value): + self.Email[index] = value + def has__content(self): + if ( + self.Email + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType390', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailsType390') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EmailsType390': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailsType390') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EmailsType390', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailsType390'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType390', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Email_ in self.Email: + namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' + Email_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Email': + obj_ = EmailType391.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Email.append(obj_) + obj_.original_tagname_ = 'Email' +# end class EmailsType390 + + +class EmailType391(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EmailType=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EmailType = _cast(None, EmailType) + self.EmailType_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EmailType391) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EmailType391.subclass: + return EmailType391.subclass(*args_, **kwargs_) + else: + return EmailType391(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EmailType(self): + return self.EmailType + def set_EmailType(self, EmailType): + self.EmailType = EmailType + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType391', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType391') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EmailType391': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType391') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType391'): + if self.EmailType is not None and 'EmailType' not in already_processed: + already_processed.add('EmailType') + outfile.write(' EmailType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmailType), input_name='EmailType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType391', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EmailType', node) + if value is not None and 'EmailType' not in already_processed: + already_processed.add('EmailType') + self.EmailType = value + self.validate_def_nonempty_string(self.EmailType) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class EmailType391 + + +class URLsType392(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if URL is None: + self.URL = [] + else: + self.URL = URL + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, URLsType392) + if subclass is not None: + return subclass(*args_, **kwargs_) + if URLsType392.subclass: + return URLsType392.subclass(*args_, **kwargs_) + else: + return URLsType392(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def add_URL(self, value): + self.URL.append(value) + def insert_URL_at(self, index, value): + self.URL.insert(index, value) + def replace_URL_at(self, index, value): + self.URL[index] = value + def has__content(self): + if ( + self.URL + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType392', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLsType392') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'URLsType392': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLsType392') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='URLsType392', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLsType392'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType392', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for URL_ in self.URL: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + URL_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URL', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + obj_ = URLType393.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.URL.append(obj_) + obj_.original_tagname_ = 'URL' +# end class URLsType392 + + +class URLType393(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, URLType393) + if subclass is not None: + return subclass(*args_, **kwargs_) + if URLType393.subclass: + return URLType393.subclass(*args_, **kwargs_) + else: + return URLType393(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_uppercase_string(self, value): + # Validate type def_uppercase_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_uppercase_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_uppercase_string_patterns_, )) + validate_def_uppercase_string_patterns_ = [['^([A-Z]+)$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType393', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType393') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'URLType393': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType393') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType393'): + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType393', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_def_uppercase_string(self.ID) # validate type def_uppercase_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class URLType393 + + +class CompanyNameType394(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CompanyNameType394) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CompanyNameType394.subclass: + return CompanyNameType394.subclass(*args_, **kwargs_) + else: + return CompanyNameType394(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_any_string(self, value): + result = True + # Validate type def_any_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_any_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType394', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType394') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CompanyNameType394': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType394') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType394'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType394', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CompanyNameType394 + + +class UniqueIDType396(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, ID=None, Instance=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.Instance = _cast(None, Instance) + self.Instance_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, UniqueIDType396) + if subclass is not None: + return subclass(*args_, **kwargs_) + if UniqueIDType396.subclass: + return UniqueIDType396.subclass(*args_, **kwargs_) + else: + return UniqueIDType396(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def get_Instance(self): + return self.Instance + def set_Instance(self, Instance): + self.Instance = Instance + def validate_TypeType397(self, value): + # Validate type TypeType397, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['16'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType397' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_InstanceType398(self, value): + # Validate type InstanceType398, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['CompleteSet'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InstanceType398' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType396', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType396') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'UniqueIDType396': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType396') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType396', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType396'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + if self.Instance is not None and 'Instance' not in already_processed: + already_processed.add('Instance') + outfile.write(' Instance=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Instance), input_name='Instance')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType396', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType397(self.Type) # validate type TypeType397 + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + value = find_attr_value_('Instance', node) + if value is not None and 'Instance' not in already_processed: + already_processed.add('Instance') + self.Instance = value + self.validate_InstanceType398(self.Instance) # validate type InstanceType398 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class UniqueIDType396 + + +class RatePlansType399(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + if RatePlan is None: + self.RatePlan = [] + else: + self.RatePlan = RatePlan + self.RatePlan_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlansType399) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlansType399.subclass: + return RatePlansType399.subclass(*args_, **kwargs_) + else: + return RatePlansType399(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RatePlan(self): + return self.RatePlan + def set_RatePlan(self, RatePlan): + self.RatePlan = RatePlan + def add_RatePlan(self, value): + self.RatePlan.append(value) + def insert_RatePlan_at(self, index, value): + self.RatePlan.insert(index, value) + def replace_RatePlan_at(self, index, value): + self.RatePlan[index] = value + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.RatePlan + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType399', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType399') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlansType399': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType399') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType399', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType399'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType399', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for RatePlan_ in self.RatePlan: + namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' + RatePlan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RatePlan': + obj_ = RatePlanType400.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlan.append(obj_) + obj_.original_tagname_ = 'RatePlan' +# end class RatePlansType399 + + +class RatePlanType400(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.RatePlanNotifType = _cast(None, RatePlanNotifType) + self.RatePlanNotifType_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.RatePlanCode = _cast(None, RatePlanCode) + self.RatePlanCode_nsprefix_ = None + self.RatePlanType = _cast(None, RatePlanType) + self.RatePlanType_nsprefix_ = None + self.RatePlanCategory = _cast(None, RatePlanCategory) + self.RatePlanCategory_nsprefix_ = None + self.RatePlanID = _cast(None, RatePlanID) + self.RatePlanID_nsprefix_ = None + self.RatePlanQualifier = _cast(bool, RatePlanQualifier) + self.RatePlanQualifier_nsprefix_ = None + self.BookingRules = BookingRules + self.BookingRules_nsprefix_ = None + self.Rates = Rates + self.Rates_nsprefix_ = None + self.Supplements = Supplements + self.Supplements_nsprefix_ = None + self.Offers = Offers + self.Offers_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlanType400) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlanType400.subclass: + return RatePlanType400.subclass(*args_, **kwargs_) + else: + return RatePlanType400(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BookingRules(self): + return self.BookingRules + def set_BookingRules(self, BookingRules): + self.BookingRules = BookingRules + def get_Rates(self): + return self.Rates + def set_Rates(self, Rates): + self.Rates = Rates + def get_Supplements(self): + return self.Supplements + def set_Supplements(self, Supplements): + self.Supplements = Supplements + def get_Offers(self): + return self.Offers + def set_Offers(self, Offers): + self.Offers = Offers + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def get_RatePlanNotifType(self): + return self.RatePlanNotifType + def set_RatePlanNotifType(self, RatePlanNotifType): + self.RatePlanNotifType = RatePlanNotifType + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_RatePlanCode(self): + return self.RatePlanCode + def set_RatePlanCode(self, RatePlanCode): + self.RatePlanCode = RatePlanCode + def get_RatePlanType(self): + return self.RatePlanType + def set_RatePlanType(self, RatePlanType): + self.RatePlanType = RatePlanType + def get_RatePlanCategory(self): + return self.RatePlanCategory + def set_RatePlanCategory(self, RatePlanCategory): + self.RatePlanCategory = RatePlanCategory + def get_RatePlanID(self): + return self.RatePlanID + def set_RatePlanID(self, RatePlanID): + self.RatePlanID = RatePlanID + def get_RatePlanQualifier(self): + return self.RatePlanQualifier + def set_RatePlanQualifier(self, RatePlanQualifier): + self.RatePlanQualifier = RatePlanQualifier + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_RatePlanNotifTypeType(self, value): + # Validate type RatePlanNotifTypeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Overlay', 'New', 'Full', 'Remove'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanNotifTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_RatePlanTypeType(self, value): + # Validate type RatePlanTypeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['12'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.BookingRules is not None or + self.Rates is not None or + self.Supplements is not None or + self.Offers is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType400', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType400') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlanType400': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType400') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType400', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType400'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + if self.RatePlanNotifType is not None and 'RatePlanNotifType' not in already_processed: + already_processed.add('RatePlanNotifType') + outfile.write(' RatePlanNotifType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanNotifType), input_name='RatePlanNotifType')), )) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) + if self.RatePlanType is not None and 'RatePlanType' not in already_processed: + already_processed.add('RatePlanType') + outfile.write(' RatePlanType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanType), input_name='RatePlanType')), )) + if self.RatePlanCategory is not None and 'RatePlanCategory' not in already_processed: + already_processed.add('RatePlanCategory') + outfile.write(' RatePlanCategory=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCategory), input_name='RatePlanCategory')), )) + if self.RatePlanID is not None and 'RatePlanID' not in already_processed: + already_processed.add('RatePlanID') + outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) + if self.RatePlanQualifier is not None and 'RatePlanQualifier' not in already_processed: + already_processed.add('RatePlanQualifier') + outfile.write(' RatePlanQualifier="%s"' % self.gds_format_boolean(self.RatePlanQualifier, input_name='RatePlanQualifier')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType400', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BookingRules is not None: + namespaceprefix_ = self.BookingRules_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRules_nsprefix_) else '' + self.BookingRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRules', pretty_print=pretty_print) + if self.Rates is not None: + namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' + self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) + if self.Supplements is not None: + namespaceprefix_ = self.Supplements_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplements_nsprefix_) else '' + self.Supplements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplements', pretty_print=pretty_print) + if self.Offers is not None: + namespaceprefix_ = self.Offers_nsprefix_ + ':' if (UseCapturedNS_ and self.Offers_nsprefix_) else '' + self.Offers.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offers', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + value = find_attr_value_('RatePlanNotifType', node) + if value is not None and 'RatePlanNotifType' not in already_processed: + already_processed.add('RatePlanNotifType') + self.RatePlanNotifType = value + self.validate_RatePlanNotifTypeType(self.RatePlanNotifType) # validate type RatePlanNotifTypeType + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('RatePlanCode', node) + if value is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + self.RatePlanCode = value + self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 + value = find_attr_value_('RatePlanType', node) + if value is not None and 'RatePlanType' not in already_processed: + already_processed.add('RatePlanType') + self.RatePlanType = value + self.validate_RatePlanTypeType(self.RatePlanType) # validate type RatePlanTypeType + value = find_attr_value_('RatePlanCategory', node) + if value is not None and 'RatePlanCategory' not in already_processed: + already_processed.add('RatePlanCategory') + self.RatePlanCategory = value + self.validate_StringLength1to64(self.RatePlanCategory) # validate type StringLength1to64 + value = find_attr_value_('RatePlanID', node) + if value is not None and 'RatePlanID' not in already_processed: + already_processed.add('RatePlanID') + self.RatePlanID = value + self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 + value = find_attr_value_('RatePlanQualifier', node) + if value is not None and 'RatePlanQualifier' not in already_processed: + already_processed.add('RatePlanQualifier') + if value in ('true', '1'): + self.RatePlanQualifier = True + elif value in ('false', '0'): + self.RatePlanQualifier = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.RatePlanQualifier) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BookingRules': + obj_ = BookingRulesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BookingRules = obj_ + obj_.original_tagname_ = 'BookingRules' + elif nodeName_ == 'Rates': + obj_ = RatesType404.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rates = obj_ + obj_.original_tagname_ = 'Rates' + elif nodeName_ == 'Supplements': + obj_ = SupplementsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Supplements = obj_ + obj_.original_tagname_ = 'Supplements' + elif nodeName_ == 'Offers': + obj_ = OffersType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Offers = obj_ + obj_.original_tagname_ = 'Offers' + elif nodeName_ == 'Description': + obj_ = DescriptionType428.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class RatePlanType400 + + +class BookingRulesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BookingRule=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if BookingRule is None: + self.BookingRule = [] + else: + self.BookingRule = BookingRule + self.BookingRule_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BookingRulesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BookingRulesType.subclass: + return BookingRulesType.subclass(*args_, **kwargs_) + else: + return BookingRulesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BookingRule(self): + return self.BookingRule + def set_BookingRule(self, BookingRule): + self.BookingRule = BookingRule + def add_BookingRule(self, value): + self.BookingRule.append(value) + def insert_BookingRule_at(self, index, value): + self.BookingRule.insert(index, value) + def replace_BookingRule_at(self, index, value): + self.BookingRule[index] = value + def has__content(self): + if ( + self.BookingRule + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRulesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BookingRulesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRulesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRulesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRulesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for BookingRule_ in self.BookingRule: + namespaceprefix_ = self.BookingRule_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRule_nsprefix_) else '' + BookingRule_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRule', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BookingRule': + obj_ = BookingRuleType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BookingRule.append(obj_) + obj_.original_tagname_ = 'BookingRule' +# end class BookingRulesType + + +class BookingRuleType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CodeContext = _cast(None, CodeContext) + self.CodeContext_nsprefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.LengthsOfStay = LengthsOfStay + self.LengthsOfStay_nsprefix_ = None + self.DOW_Restrictions = DOW_Restrictions + self.DOW_Restrictions_nsprefix_ = None + self.RestrictionStatus = RestrictionStatus + self.RestrictionStatus_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BookingRuleType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BookingRuleType.subclass: + return BookingRuleType.subclass(*args_, **kwargs_) + else: + return BookingRuleType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthsOfStay(self): + return self.LengthsOfStay + def set_LengthsOfStay(self, LengthsOfStay): + self.LengthsOfStay = LengthsOfStay + def get_DOW_Restrictions(self): + return self.DOW_Restrictions + def set_DOW_Restrictions(self, DOW_Restrictions): + self.DOW_Restrictions = DOW_Restrictions + def get_RestrictionStatus(self): + return self.RestrictionStatus + def set_RestrictionStatus(self, RestrictionStatus): + self.RestrictionStatus = RestrictionStatus + def get_CodeContext(self): + return self.CodeContext + def set_CodeContext(self, CodeContext): + self.CodeContext = CodeContext + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_CodeContextType403(self, value): + # Validate type CodeContextType403, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ROOMTYPE'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType403' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.LengthsOfStay is not None or + self.DOW_Restrictions is not None or + self.RestrictionStatus is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRuleType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BookingRuleType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRuleType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRuleType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRuleType'): + if self.CodeContext is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.LengthsOfStay is not None: + namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' + self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) + if self.DOW_Restrictions is not None: + namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' + self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) + if self.RestrictionStatus is not None: + namespaceprefix_ = self.RestrictionStatus_nsprefix_ + ':' if (UseCapturedNS_ and self.RestrictionStatus_nsprefix_) else '' + self.RestrictionStatus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RestrictionStatus', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CodeContext', node) + if value is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + self.CodeContext = value + self.validate_CodeContextType403(self.CodeContext) # validate type CodeContextType403 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthsOfStay': + obj_ = LengthsOfStayType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthsOfStay = obj_ + obj_.original_tagname_ = 'LengthsOfStay' + elif nodeName_ == 'DOW_Restrictions': + obj_ = DOW_RestrictionsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DOW_Restrictions = obj_ + obj_.original_tagname_ = 'DOW_Restrictions' + elif nodeName_ == 'RestrictionStatus': + obj_ = RestrictionStatusType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RestrictionStatus = obj_ + obj_.original_tagname_ = 'RestrictionStatus' +# end class BookingRuleType + + +class LengthsOfStayType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if LengthOfStay is None: + self.LengthOfStay = [] + else: + self.LengthOfStay = LengthOfStay + self.LengthOfStay_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthsOfStayType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthsOfStayType.subclass: + return LengthsOfStayType.subclass(*args_, **kwargs_) + else: + return LengthsOfStayType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthOfStay(self): + return self.LengthOfStay + def set_LengthOfStay(self, LengthOfStay): + self.LengthOfStay = LengthOfStay + def add_LengthOfStay(self, value): + self.LengthOfStay.append(value) + def insert_LengthOfStay_at(self, index, value): + self.LengthOfStay.insert(index, value) + def replace_LengthOfStay_at(self, index, value): + self.LengthOfStay[index] = value + def has__content(self): + if ( + self.LengthOfStay + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthsOfStayType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for LengthOfStay_ in self.LengthOfStay: + namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' + LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthOfStay': + obj_ = LengthOfStayType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthOfStay.append(obj_) + obj_.original_tagname_ = 'LengthOfStay' +# end class LengthsOfStayType + + +class LengthOfStayType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Time = _cast(float, Time) + self.Time_nsprefix_ = None + self.TimeUnit = _cast(None, TimeUnit) + self.TimeUnit_nsprefix_ = None + self.MinMaxMessageType = _cast(None, MinMaxMessageType) + self.MinMaxMessageType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthOfStayType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthOfStayType.subclass: + return LengthOfStayType.subclass(*args_, **kwargs_) + else: + return LengthOfStayType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Time(self): + return self.Time + def set_Time(self, Time): + self.Time = Time + def get_TimeUnit(self): + return self.TimeUnit + def set_TimeUnit(self, TimeUnit): + self.TimeUnit = TimeUnit + def get_MinMaxMessageType(self): + return self.MinMaxMessageType + def set_MinMaxMessageType(self, MinMaxMessageType): + self.MinMaxMessageType = MinMaxMessageType + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_TimeUnitType401(self, value): + # Validate type TimeUnitType401, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType401' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MinMaxMessageTypeType(self, value): + # Validate type MinMaxMessageTypeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['SetMinLOS', 'SetForwardMinStay', 'SetMaxLOS', 'SetForwardMaxStay'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthOfStayType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType'): + if self.Time is not None and 'Time' not in already_processed: + already_processed.add('Time') + outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) + if self.TimeUnit is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) + if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Time', node) + if value is not None and 'Time' not in already_processed: + already_processed.add('Time') + value = self.gds_parse_decimal(value, node, 'Time') + self.Time = value + self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 + value = find_attr_value_('TimeUnit', node) + if value is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + self.TimeUnit = value + self.validate_TimeUnitType401(self.TimeUnit) # validate type TimeUnitType401 + value = find_attr_value_('MinMaxMessageType', node) + if value is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + self.MinMaxMessageType = value + self.validate_MinMaxMessageTypeType(self.MinMaxMessageType) # validate type MinMaxMessageTypeType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class LengthOfStayType + + +class DOW_RestrictionsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + self.ArrivalDaysOfWeek_nsprefix_ = None + self.DepartureDaysOfWeek = DepartureDaysOfWeek + self.DepartureDaysOfWeek_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DOW_RestrictionsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DOW_RestrictionsType.subclass: + return DOW_RestrictionsType.subclass(*args_, **kwargs_) + else: + return DOW_RestrictionsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ArrivalDaysOfWeek(self): + return self.ArrivalDaysOfWeek + def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + def get_DepartureDaysOfWeek(self): + return self.DepartureDaysOfWeek + def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): + self.DepartureDaysOfWeek = DepartureDaysOfWeek + def has__content(self): + if ( + self.ArrivalDaysOfWeek is not None or + self.DepartureDaysOfWeek is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ArrivalDaysOfWeek is not None: + namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' + self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) + if self.DepartureDaysOfWeek is not None: + namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' + self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ArrivalDaysOfWeek': + obj_ = ArrivalDaysOfWeekType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ArrivalDaysOfWeek = obj_ + obj_.original_tagname_ = 'ArrivalDaysOfWeek' + elif nodeName_ == 'DepartureDaysOfWeek': + obj_ = DepartureDaysOfWeekType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DepartureDaysOfWeek = obj_ + obj_.original_tagname_ = 'DepartureDaysOfWeek' +# end class DOW_RestrictionsType + + +class ArrivalDaysOfWeekType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ArrivalDaysOfWeekType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ArrivalDaysOfWeekType.subclass: + return ArrivalDaysOfWeekType.subclass(*args_, **kwargs_) + else: + return ArrivalDaysOfWeekType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ArrivalDaysOfWeekType + + +class DepartureDaysOfWeekType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DepartureDaysOfWeekType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DepartureDaysOfWeekType.subclass: + return DepartureDaysOfWeekType.subclass(*args_, **kwargs_) + else: + return DepartureDaysOfWeekType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DepartureDaysOfWeekType + + +class RestrictionStatusType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Restriction=None, Status=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Restriction = _cast(None, Restriction) + self.Restriction_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RestrictionStatusType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RestrictionStatusType.subclass: + return RestrictionStatusType.subclass(*args_, **kwargs_) + else: + return RestrictionStatusType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Restriction(self): + return self.Restriction + def set_Restriction(self, Restriction): + self.Restriction = Restriction + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def validate_RestrictionType(self, value): + # Validate type RestrictionType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Master'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RestrictionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StatusType402(self, value): + # Validate type StatusType402, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Open', 'Close'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType402' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RestrictionStatusType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RestrictionStatusType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RestrictionStatusType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RestrictionStatusType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RestrictionStatusType'): + if self.Restriction is not None and 'Restriction' not in already_processed: + already_processed.add('Restriction') + outfile.write(' Restriction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Restriction), input_name='Restriction')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Restriction', node) + if value is not None and 'Restriction' not in already_processed: + already_processed.add('Restriction') + self.Restriction = value + self.validate_RestrictionType(self.Restriction) # validate type RestrictionType + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_StatusType402(self.Status) # validate type StatusType402 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class RestrictionStatusType + + +class RatesType404(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Rate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Rate is None: + self.Rate = [] + else: + self.Rate = Rate + self.Rate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatesType404) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatesType404.subclass: + return RatesType404.subclass(*args_, **kwargs_) + else: + return RatesType404(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rate(self): + return self.Rate + def set_Rate(self, Rate): + self.Rate = Rate + def add_Rate(self, value): + self.Rate.append(value) + def insert_Rate_at(self, index, value): + self.Rate.insert(index, value) + def replace_Rate_at(self, index, value): + self.Rate[index] = value + def has__content(self): + if ( + self.Rate + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType404', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType404') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatesType404': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType404') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType404', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType404'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType404', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Rate_ in self.Rate: + namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' + Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Rate': + obj_ = RateType405.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rate.append(obj_) + obj_.original_tagname_ = 'Rate' +# end class RatesType404 + + +class RateType405(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MinGuestApplicable = _cast(int, MinGuestApplicable) + self.MinGuestApplicable_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.RateTimeUnit = _cast(None, RateTimeUnit) + self.RateTimeUnit_nsprefix_ = None + self.UnitMultiplier = _cast(int, UnitMultiplier) + self.UnitMultiplier_nsprefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + self.Duration = _cast(None, Duration) + self.Duration_nsprefix_ = None + self.InvTypeCode = _cast(None, InvTypeCode) + self.InvTypeCode_nsprefix_ = None + self.BaseByGuestAmts = BaseByGuestAmts + self.BaseByGuestAmts_nsprefix_ = None + self.AdditionalGuestAmounts = AdditionalGuestAmounts + self.AdditionalGuestAmounts_nsprefix_ = None + self.RateDescription = RateDescription + self.RateDescription_nsprefix_ = None + self.MealsIncluded = MealsIncluded + self.MealsIncluded_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RateType405) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RateType405.subclass: + return RateType405.subclass(*args_, **kwargs_) + else: + return RateType405(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BaseByGuestAmts(self): + return self.BaseByGuestAmts + def set_BaseByGuestAmts(self, BaseByGuestAmts): + self.BaseByGuestAmts = BaseByGuestAmts + def get_AdditionalGuestAmounts(self): + return self.AdditionalGuestAmounts + def set_AdditionalGuestAmounts(self, AdditionalGuestAmounts): + self.AdditionalGuestAmounts = AdditionalGuestAmounts + def get_RateDescription(self): + return self.RateDescription + def set_RateDescription(self, RateDescription): + self.RateDescription = RateDescription + def get_MealsIncluded(self): + return self.MealsIncluded + def set_MealsIncluded(self, MealsIncluded): + self.MealsIncluded = MealsIncluded + def get_MinGuestApplicable(self): + return self.MinGuestApplicable + def set_MinGuestApplicable(self, MinGuestApplicable): + self.MinGuestApplicable = MinGuestApplicable + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def get_RateTimeUnit(self): + return self.RateTimeUnit + def set_RateTimeUnit(self, RateTimeUnit): + self.RateTimeUnit = RateTimeUnit + def get_UnitMultiplier(self): + return self.UnitMultiplier + def set_UnitMultiplier(self, UnitMultiplier): + self.UnitMultiplier = UnitMultiplier + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def get_Duration(self): + return self.Duration + def set_Duration(self, Duration): + self.Duration = Duration + def get_InvTypeCode(self): + return self.InvTypeCode + def set_InvTypeCode(self, InvTypeCode): + self.InvTypeCode = InvTypeCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_RateTimeUnitType413(self, value): + # Validate type RateTimeUnitType413, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType413' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_DurationType414(self, value): + # Validate type DurationType414, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_DurationType414_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType414_patterns_, )) + validate_DurationType414_patterns_ = [['^(P[0-9]+N)$']] + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.BaseByGuestAmts is not None or + self.AdditionalGuestAmounts is not None or + self.RateDescription is not None or + self.MealsIncluded is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType405', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType405') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RateType405': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType405') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType405', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType405'): + if self.MinGuestApplicable is not None and 'MinGuestApplicable' not in already_processed: + already_processed.add('MinGuestApplicable') + outfile.write(' MinGuestApplicable="%s"' % self.gds_format_integer(self.MinGuestApplicable, input_name='MinGuestApplicable')) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) + if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + if self.Duration is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) + if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: + already_processed.add('InvTypeCode') + outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType405', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BaseByGuestAmts is not None: + namespaceprefix_ = self.BaseByGuestAmts_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmts_nsprefix_) else '' + self.BaseByGuestAmts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmts', pretty_print=pretty_print) + if self.AdditionalGuestAmounts is not None: + namespaceprefix_ = self.AdditionalGuestAmounts_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmounts_nsprefix_) else '' + self.AdditionalGuestAmounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmounts', pretty_print=pretty_print) + if self.RateDescription is not None: + namespaceprefix_ = self.RateDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.RateDescription_nsprefix_) else '' + self.RateDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RateDescription', pretty_print=pretty_print) + if self.MealsIncluded is not None: + namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' + self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MinGuestApplicable', node) + if value is not None and 'MinGuestApplicable' not in already_processed: + already_processed.add('MinGuestApplicable') + self.MinGuestApplicable = self.gds_parse_integer(value, node, 'MinGuestApplicable') + if self.MinGuestApplicable <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinGuestApplicable) # validate type def_int_gt0 + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + value = find_attr_value_('RateTimeUnit', node) + if value is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + self.RateTimeUnit = value + self.validate_RateTimeUnitType413(self.RateTimeUnit) # validate type RateTimeUnitType413 + value = find_attr_value_('UnitMultiplier', node) + if value is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') + if self.UnitMultiplier <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + value = find_attr_value_('Duration', node) + if value is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + self.Duration = value + self.validate_DurationType414(self.Duration) # validate type DurationType414 + value = find_attr_value_('InvTypeCode', node) + if value is not None and 'InvTypeCode' not in already_processed: + already_processed.add('InvTypeCode') + self.InvTypeCode = value + self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BaseByGuestAmts': + obj_ = BaseByGuestAmtsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BaseByGuestAmts = obj_ + obj_.original_tagname_ = 'BaseByGuestAmts' + elif nodeName_ == 'AdditionalGuestAmounts': + obj_ = AdditionalGuestAmountsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AdditionalGuestAmounts = obj_ + obj_.original_tagname_ = 'AdditionalGuestAmounts' + elif nodeName_ == 'RateDescription': + obj_ = RateDescriptionType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RateDescription = obj_ + obj_.original_tagname_ = 'RateDescription' + elif nodeName_ == 'MealsIncluded': + obj_ = MealsIncludedType410.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MealsIncluded = obj_ + obj_.original_tagname_ = 'MealsIncluded' +# end class RateType405 + + +class BaseByGuestAmtsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BaseByGuestAmt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if BaseByGuestAmt is None: + self.BaseByGuestAmt = [] + else: + self.BaseByGuestAmt = BaseByGuestAmt + self.BaseByGuestAmt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BaseByGuestAmtsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BaseByGuestAmtsType.subclass: + return BaseByGuestAmtsType.subclass(*args_, **kwargs_) + else: + return BaseByGuestAmtsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BaseByGuestAmt(self): + return self.BaseByGuestAmt + def set_BaseByGuestAmt(self, BaseByGuestAmt): + self.BaseByGuestAmt = BaseByGuestAmt + def add_BaseByGuestAmt(self, value): + self.BaseByGuestAmt.append(value) + def insert_BaseByGuestAmt_at(self, index, value): + self.BaseByGuestAmt.insert(index, value) + def replace_BaseByGuestAmt_at(self, index, value): + self.BaseByGuestAmt[index] = value + def has__content(self): + if ( + self.BaseByGuestAmt + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for BaseByGuestAmt_ in self.BaseByGuestAmt: + namespaceprefix_ = self.BaseByGuestAmt_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmt_nsprefix_) else '' + BaseByGuestAmt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BaseByGuestAmt': + obj_ = BaseByGuestAmtType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BaseByGuestAmt.append(obj_) + obj_.original_tagname_ = 'BaseByGuestAmt' +# end class BaseByGuestAmtsType + + +class BaseByGuestAmtType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NumberOfGuests = _cast(int, NumberOfGuests) + self.NumberOfGuests_nsprefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BaseByGuestAmtType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BaseByGuestAmtType.subclass: + return BaseByGuestAmtType.subclass(*args_, **kwargs_) + else: + return BaseByGuestAmtType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NumberOfGuests(self): + return self.NumberOfGuests + def set_NumberOfGuests(self, NumberOfGuests): + self.NumberOfGuests = NumberOfGuests + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_TypeType406(self, value): + # Validate type TypeType406, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['7', '25'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType406' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtType'): + if self.NumberOfGuests is not None and 'NumberOfGuests' not in already_processed: + already_processed.add('NumberOfGuests') + outfile.write(' NumberOfGuests="%s"' % self.gds_format_integer(self.NumberOfGuests, input_name='NumberOfGuests')) + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('NumberOfGuests', node) + if value is not None and 'NumberOfGuests' not in already_processed: + already_processed.add('NumberOfGuests') + self.NumberOfGuests = self.gds_parse_integer(value, node, 'NumberOfGuests') + if self.NumberOfGuests <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.NumberOfGuests) # validate type def_int_gt0 + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType406(self.Type) # validate type TypeType406 + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') + if self.AgeQualifyingCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BaseByGuestAmtType + + +class AdditionalGuestAmountsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AdditionalGuestAmount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if AdditionalGuestAmount is None: + self.AdditionalGuestAmount = [] + else: + self.AdditionalGuestAmount = AdditionalGuestAmount + self.AdditionalGuestAmount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AdditionalGuestAmountsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AdditionalGuestAmountsType.subclass: + return AdditionalGuestAmountsType.subclass(*args_, **kwargs_) + else: + return AdditionalGuestAmountsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AdditionalGuestAmount(self): + return self.AdditionalGuestAmount + def set_AdditionalGuestAmount(self, AdditionalGuestAmount): + self.AdditionalGuestAmount = AdditionalGuestAmount + def add_AdditionalGuestAmount(self, value): + self.AdditionalGuestAmount.append(value) + def insert_AdditionalGuestAmount_at(self, index, value): + self.AdditionalGuestAmount.insert(index, value) + def replace_AdditionalGuestAmount_at(self, index, value): + self.AdditionalGuestAmount[index] = value + def has__content(self): + if ( + self.AdditionalGuestAmount + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for AdditionalGuestAmount_ in self.AdditionalGuestAmount: + namespaceprefix_ = self.AdditionalGuestAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmount_nsprefix_) else '' + AdditionalGuestAmount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AdditionalGuestAmount': + obj_ = AdditionalGuestAmountType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AdditionalGuestAmount.append(obj_) + obj_.original_tagname_ = 'AdditionalGuestAmount' +# end class AdditionalGuestAmountsType + + +class AdditionalGuestAmountType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + self.MinAge = _cast(int, MinAge) + self.MinAge_nsprefix_ = None + self.MaxAge = _cast(int, MaxAge) + self.MaxAge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AdditionalGuestAmountType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AdditionalGuestAmountType.subclass: + return AdditionalGuestAmountType.subclass(*args_, **kwargs_) + else: + return AdditionalGuestAmountType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def get_MinAge(self): + return self.MinAge + def set_MinAge(self, MinAge): + self.MinAge = MinAge + def get_MaxAge(self): + return self.MaxAge + def set_MaxAge(self, MaxAge): + self.MaxAge = MaxAge + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountType'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) + if self.MinAge is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) + if self.MaxAge is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') + if self.AgeQualifyingCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 + value = find_attr_value_('MinAge', node) + if value is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + self.MinAge = self.gds_parse_integer(value, node, 'MinAge') + if self.MinAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 + value = find_attr_value_('MaxAge', node) + if value is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') + if self.MaxAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AdditionalGuestAmountType + + +class RateDescriptionType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RateDescriptionType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RateDescriptionType.subclass: + return RateDescriptionType.subclass(*args_, **kwargs_) + else: + return RateDescriptionType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_NameType409(self, value): + # Validate type NameType409, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['included services'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType409' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateDescriptionType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RateDescriptionType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateDescriptionType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateDescriptionType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateDescriptionType'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType409(self.Name) # validate type NameType409 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + obj_ = ListItemType407.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ListItem.append(obj_) + obj_.original_tagname_ = 'ListItem' +# end class RateDescriptionType + + +class ListItemType407(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ListItem = _cast(int, ListItem) + self.ListItem_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ListItemType407) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ListItemType407.subclass: + return ListItemType407.subclass(*args_, **kwargs_) + else: + return ListItemType407(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_LanguageType408(self, value): + # Validate type LanguageType408, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType408_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType408_patterns_, )) + validate_LanguageType408_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType407', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType407') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ListItemType407': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType407') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType407'): + if self.ListItem is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType407', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ListItem', node) + if value is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + self.ListItem = self.gds_parse_integer(value, node, 'ListItem') + if self.ListItem < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType408(self.Language) # validate type LanguageType408 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ListItemType407 + + +class MealsIncludedType410(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Breakfast = _cast(bool, Breakfast) + self.Breakfast_nsprefix_ = None + self.Lunch = _cast(bool, Lunch) + self.Lunch_nsprefix_ = None + self.Dinner = _cast(bool, Dinner) + self.Dinner_nsprefix_ = None + self.MealPlanCodes = _cast(None, MealPlanCodes) + self.MealPlanCodes_nsprefix_ = None + self.MealPlanIndicator = _cast(None, MealPlanIndicator) + self.MealPlanIndicator_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MealsIncludedType410) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MealsIncludedType410.subclass: + return MealsIncludedType410.subclass(*args_, **kwargs_) + else: + return MealsIncludedType410(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Breakfast(self): + return self.Breakfast + def set_Breakfast(self, Breakfast): + self.Breakfast = Breakfast + def get_Lunch(self): + return self.Lunch + def set_Lunch(self, Lunch): + self.Lunch = Lunch + def get_Dinner(self): + return self.Dinner + def set_Dinner(self, Dinner): + self.Dinner = Dinner + def get_MealPlanCodes(self): + return self.MealPlanCodes + def set_MealPlanCodes(self, MealPlanCodes): + self.MealPlanCodes = MealPlanCodes + def get_MealPlanIndicator(self): + return self.MealPlanIndicator + def set_MealPlanIndicator(self, MealPlanIndicator): + self.MealPlanIndicator = MealPlanIndicator + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_MealPlanCodesType411(self, value): + # Validate type MealPlanCodesType411, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '3', '10', '12', '14'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType411' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MealPlanIndicatorType412(self, value): + # Validate type MealPlanIndicatorType412, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', 'true'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType412' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType410', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType410') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MealsIncludedType410': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType410') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType410', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType410'): + if self.Breakfast is not None and 'Breakfast' not in already_processed: + already_processed.add('Breakfast') + outfile.write(' Breakfast="%s"' % self.gds_format_boolean(self.Breakfast, input_name='Breakfast')) + if self.Lunch is not None and 'Lunch' not in already_processed: + already_processed.add('Lunch') + outfile.write(' Lunch="%s"' % self.gds_format_boolean(self.Lunch, input_name='Lunch')) + if self.Dinner is not None and 'Dinner' not in already_processed: + already_processed.add('Dinner') + outfile.write(' Dinner="%s"' % self.gds_format_boolean(self.Dinner, input_name='Dinner')) + if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) + if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType410', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Breakfast', node) + if value is not None and 'Breakfast' not in already_processed: + already_processed.add('Breakfast') + if value in ('true', '1'): + self.Breakfast = True + elif value in ('false', '0'): + self.Breakfast = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Breakfast) # validate type def_bool + value = find_attr_value_('Lunch', node) + if value is not None and 'Lunch' not in already_processed: + already_processed.add('Lunch') + if value in ('true', '1'): + self.Lunch = True + elif value in ('false', '0'): + self.Lunch = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Lunch) # validate type def_bool + value = find_attr_value_('Dinner', node) + if value is not None and 'Dinner' not in already_processed: + already_processed.add('Dinner') + if value in ('true', '1'): + self.Dinner = True + elif value in ('false', '0'): + self.Dinner = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Dinner) # validate type def_bool + value = find_attr_value_('MealPlanCodes', node) + if value is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + self.MealPlanCodes = value + self.validate_MealPlanCodesType411(self.MealPlanCodes) # validate type MealPlanCodesType411 + value = find_attr_value_('MealPlanIndicator', node) + if value is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + self.MealPlanIndicator = value + self.validate_MealPlanIndicatorType412(self.MealPlanIndicator) # validate type MealPlanIndicatorType412 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class MealsIncludedType410 + + +class SupplementsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Supplement=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Supplement is None: + self.Supplement = [] + else: + self.Supplement = Supplement + self.Supplement_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SupplementsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SupplementsType.subclass: + return SupplementsType.subclass(*args_, **kwargs_) + else: + return SupplementsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Supplement(self): + return self.Supplement + def set_Supplement(self, Supplement): + self.Supplement = Supplement + def add_Supplement(self, value): + self.Supplement.append(value) + def insert_Supplement_at(self, index, value): + self.Supplement.insert(index, value) + def replace_Supplement_at(self, index, value): + self.Supplement[index] = value + def has__content(self): + if ( + self.Supplement + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SupplementsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Supplement_ in self.Supplement: + namespaceprefix_ = self.Supplement_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplement_nsprefix_) else '' + Supplement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplement', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Supplement': + obj_ = SupplementType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Supplement.append(obj_) + obj_.original_tagname_ = 'Supplement' +# end class SupplementsType + + +class SupplementType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AddToBasicRateIndicator = _cast(None, AddToBasicRateIndicator) + self.AddToBasicRateIndicator_nsprefix_ = None + self.ChargeTypeCode = _cast(None, ChargeTypeCode) + self.ChargeTypeCode_nsprefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.InvType = _cast(None, InvType) + self.InvType_nsprefix_ = None + self.InvCode = _cast(None, InvCode) + self.InvCode_nsprefix_ = None + self.MandatoryIndicator = _cast(bool, MandatoryIndicator) + self.MandatoryIndicator_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.PrerequisiteInventory = PrerequisiteInventory + self.PrerequisiteInventory_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SupplementType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SupplementType.subclass: + return SupplementType.subclass(*args_, **kwargs_) + else: + return SupplementType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PrerequisiteInventory(self): + return self.PrerequisiteInventory + def set_PrerequisiteInventory(self, PrerequisiteInventory): + self.PrerequisiteInventory = PrerequisiteInventory + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_AddToBasicRateIndicator(self): + return self.AddToBasicRateIndicator + def set_AddToBasicRateIndicator(self, AddToBasicRateIndicator): + self.AddToBasicRateIndicator = AddToBasicRateIndicator + def get_ChargeTypeCode(self): + return self.ChargeTypeCode + def set_ChargeTypeCode(self, ChargeTypeCode): + self.ChargeTypeCode = ChargeTypeCode + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_InvType(self): + return self.InvType + def set_InvType(self, InvType): + self.InvType = InvType + def get_InvCode(self): + return self.InvCode + def set_InvCode(self, InvCode): + self.InvCode = InvCode + def get_MandatoryIndicator(self): + return self.MandatoryIndicator + def set_MandatoryIndicator(self, MandatoryIndicator): + self.MandatoryIndicator = MandatoryIndicator + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_AddToBasicRateIndicatorType(self, value): + # Validate type AddToBasicRateIndicatorType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', 'true'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AddToBasicRateIndicatorType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ChargeTypeCodeType(self, value): + # Validate type ChargeTypeCodeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '12', '18', '19', '20', '21', '24'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeTypeCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_InvTypeType420(self, value): + # Validate type InvTypeType420, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['EXTRA', 'ALPINEBITSEXTRA'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType420' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.PrerequisiteInventory is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SupplementType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementType'): + if self.AddToBasicRateIndicator is not None and 'AddToBasicRateIndicator' not in already_processed: + already_processed.add('AddToBasicRateIndicator') + outfile.write(' AddToBasicRateIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AddToBasicRateIndicator), input_name='AddToBasicRateIndicator')), )) + if self.ChargeTypeCode is not None and 'ChargeTypeCode' not in already_processed: + already_processed.add('ChargeTypeCode') + outfile.write(' ChargeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeTypeCode), input_name='ChargeTypeCode')), )) + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.InvType is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) + if self.InvCode is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) + if self.MandatoryIndicator is not None and 'MandatoryIndicator' not in already_processed: + already_processed.add('MandatoryIndicator') + outfile.write(' MandatoryIndicator="%s"' % self.gds_format_boolean(self.MandatoryIndicator, input_name='MandatoryIndicator')) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PrerequisiteInventory is not None: + namespaceprefix_ = self.PrerequisiteInventory_nsprefix_ + ':' if (UseCapturedNS_ and self.PrerequisiteInventory_nsprefix_) else '' + self.PrerequisiteInventory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PrerequisiteInventory', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AddToBasicRateIndicator', node) + if value is not None and 'AddToBasicRateIndicator' not in already_processed: + already_processed.add('AddToBasicRateIndicator') + self.AddToBasicRateIndicator = value + self.validate_AddToBasicRateIndicatorType(self.AddToBasicRateIndicator) # validate type AddToBasicRateIndicatorType + value = find_attr_value_('ChargeTypeCode', node) + if value is not None and 'ChargeTypeCode' not in already_processed: + already_processed.add('ChargeTypeCode') + self.ChargeTypeCode = value + self.validate_ChargeTypeCodeType(self.ChargeTypeCode) # validate type ChargeTypeCodeType + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('InvType', node) + if value is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + self.InvType = value + self.validate_InvTypeType420(self.InvType) # validate type InvTypeType420 + value = find_attr_value_('InvCode', node) + if value is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + self.InvCode = value + self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 + value = find_attr_value_('MandatoryIndicator', node) + if value is not None and 'MandatoryIndicator' not in already_processed: + already_processed.add('MandatoryIndicator') + if value in ('true', '1'): + self.MandatoryIndicator = True + elif value in ('false', '0'): + self.MandatoryIndicator = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.MandatoryIndicator) # validate type def_bool + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PrerequisiteInventory': + obj_ = PrerequisiteInventoryType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PrerequisiteInventory = obj_ + obj_.original_tagname_ = 'PrerequisiteInventory' + elif nodeName_ == 'Description': + obj_ = DescriptionType415.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class SupplementType + + +class PrerequisiteInventoryType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, InvCode=None, InvType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.InvCode = _cast(None, InvCode) + self.InvCode_nsprefix_ = None + self.InvType = _cast(None, InvType) + self.InvType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PrerequisiteInventoryType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PrerequisiteInventoryType.subclass: + return PrerequisiteInventoryType.subclass(*args_, **kwargs_) + else: + return PrerequisiteInventoryType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_InvCode(self): + return self.InvCode + def set_InvCode(self, InvCode): + self.InvCode = InvCode + def get_InvType(self): + return self.InvType + def set_InvType(self, InvType): + self.InvType = InvType + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_InvTypeType(self, value): + # Validate type InvTypeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITSDOW', 'ROOMTYPE'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrerequisiteInventoryType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PrerequisiteInventoryType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrerequisiteInventoryType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrerequisiteInventoryType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrerequisiteInventoryType'): + if self.InvCode is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) + if self.InvType is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('InvCode', node) + if value is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + self.InvCode = value + self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 + value = find_attr_value_('InvType', node) + if value is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + self.InvType = value + self.validate_InvTypeType(self.InvType) # validate type InvTypeType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PrerequisiteInventoryType + + +class DescriptionType415(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + if Image is None: + self.Image = [] + else: + self.Image = Image + self.Image_nsprefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + if URL is None: + self.URL = [] + else: + self.URL = URL + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType415) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType415.subclass: + return DescriptionType415.subclass(*args_, **kwargs_) + else: + return DescriptionType415(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Image(self): + return self.Image + def set_Image(self, Image): + self.Image = Image + def add_Image(self, value): + self.Image.append(value) + def insert_Image_at(self, index, value): + self.Image.insert(index, value) + def replace_Image_at(self, index, value): + self.Image[index] = value + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def add_URL(self, value): + self.URL.append(value) + def insert_URL_at(self, index, value): + self.URL.insert(index, value) + def replace_URL_at(self, index, value): + self.URL[index] = value + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_NameType419(self, value): + # Validate type NameType419, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType419' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem or + self.Image or + self.Text or + self.URL + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType415', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType415') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType415': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType415') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType415', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType415'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType415', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) + for Image_ in self.Image: + namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + for URL_ in self.URL: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType419(self.Name) # validate type NameType419 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ListItem') + value_ = self.gds_validate_string(value_, node, 'ListItem') + self.ListItem.append(value_) + self.ListItem_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.ListItem[-1]) + elif nodeName_ == 'Image': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Image') + value_ = self.gds_validate_string(value_, node, 'Image') + self.Image.append(value_) + self.Image_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.Image[-1]) + elif nodeName_ == 'Text': + obj_ = TextType416.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' + elif nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL.append(value_) + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL[-1]) +# end class DescriptionType415 + + +class TextType416(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType416) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType416.subclass: + return TextType416.subclass(*args_, **kwargs_) + else: + return TextType416(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType417(self, value): + # Validate type TextFormatType417, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType417' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType418(self, value): + # Validate type LanguageType418, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType418_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType418_patterns_, )) + validate_LanguageType418_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType416', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType416') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType416': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType416') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType416'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType416', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType417(self.TextFormat) # validate type TextFormatType417 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType418(self.Language) # validate type LanguageType418 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType416 + + +class OffersType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Offer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Offer is None: + self.Offer = [] + else: + self.Offer = Offer + self.Offer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OffersType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OffersType.subclass: + return OffersType.subclass(*args_, **kwargs_) + else: + return OffersType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Offer(self): + return self.Offer + def set_Offer(self, Offer): + self.Offer = Offer + def add_Offer(self, value): + self.Offer.append(value) + def insert_Offer_at(self, index, value): + self.Offer.insert(index, value) + def replace_Offer_at(self, index, value): + self.Offer[index] = value + def has__content(self): + if ( + self.Offer + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OffersType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OffersType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OffersType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OffersType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OffersType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Offer_ in self.Offer: + namespaceprefix_ = self.Offer_nsprefix_ + ':' if (UseCapturedNS_ and self.Offer_nsprefix_) else '' + Offer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Offer': + obj_ = OfferType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Offer.append(obj_) + obj_.original_tagname_ = 'Offer' +# end class OffersType + + +class OfferType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, OfferRules=None, Discount=None, Guests=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.OfferRules = OfferRules + self.OfferRules_nsprefix_ = None + self.Discount = Discount + self.Discount_nsprefix_ = None + self.Guests = Guests + self.Guests_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OfferType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OfferType.subclass: + return OfferType.subclass(*args_, **kwargs_) + else: + return OfferType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_OfferRules(self): + return self.OfferRules + def set_OfferRules(self, OfferRules): + self.OfferRules = OfferRules + def get_Discount(self): + return self.Discount + def set_Discount(self, Discount): + self.Discount = Discount + def get_Guests(self): + return self.Guests + def set_Guests(self, Guests): + self.Guests = Guests + def has__content(self): + if ( + self.OfferRules is not None or + self.Discount is not None or + self.Guests is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OfferType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.OfferRules is not None: + namespaceprefix_ = self.OfferRules_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRules_nsprefix_) else '' + self.OfferRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRules', pretty_print=pretty_print) + if self.Discount is not None: + namespaceprefix_ = self.Discount_nsprefix_ + ':' if (UseCapturedNS_ and self.Discount_nsprefix_) else '' + self.Discount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Discount', pretty_print=pretty_print) + if self.Guests is not None: + namespaceprefix_ = self.Guests_nsprefix_ + ':' if (UseCapturedNS_ and self.Guests_nsprefix_) else '' + self.Guests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guests', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'OfferRules': + obj_ = OfferRulesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.OfferRules = obj_ + obj_.original_tagname_ = 'OfferRules' + elif nodeName_ == 'Discount': + obj_ = DiscountType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Discount = obj_ + obj_.original_tagname_ = 'Discount' + elif nodeName_ == 'Guests': + obj_ = GuestsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Guests = obj_ + obj_.original_tagname_ = 'Guests' +# end class OfferType + + +class OfferRulesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, OfferRule=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.OfferRule = OfferRule + self.OfferRule_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OfferRulesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OfferRulesType.subclass: + return OfferRulesType.subclass(*args_, **kwargs_) + else: + return OfferRulesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_OfferRule(self): + return self.OfferRule + def set_OfferRule(self, OfferRule): + self.OfferRule = OfferRule + def has__content(self): + if ( + self.OfferRule is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRulesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OfferRulesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRulesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRulesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRulesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.OfferRule is not None: + namespaceprefix_ = self.OfferRule_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRule_nsprefix_) else '' + self.OfferRule.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRule', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'OfferRule': + obj_ = OfferRuleType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.OfferRule = obj_ + obj_.original_tagname_ = 'OfferRule' +# end class OfferRulesType + + +class OfferRuleType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MinAdvancedBookingOffset = _cast(None, MinAdvancedBookingOffset) + self.MinAdvancedBookingOffset_nsprefix_ = None + self.MaxAdvancedBookingOffset = _cast(None, MaxAdvancedBookingOffset) + self.MaxAdvancedBookingOffset_nsprefix_ = None + self.LengthsOfStay = LengthsOfStay + self.LengthsOfStay_nsprefix_ = None + self.DOW_Restrictions = DOW_Restrictions + self.DOW_Restrictions_nsprefix_ = None + if Occupancy is None: + self.Occupancy = [] + else: + self.Occupancy = Occupancy + self.Occupancy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OfferRuleType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OfferRuleType.subclass: + return OfferRuleType.subclass(*args_, **kwargs_) + else: + return OfferRuleType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthsOfStay(self): + return self.LengthsOfStay + def set_LengthsOfStay(self, LengthsOfStay): + self.LengthsOfStay = LengthsOfStay + def get_DOW_Restrictions(self): + return self.DOW_Restrictions + def set_DOW_Restrictions(self, DOW_Restrictions): + self.DOW_Restrictions = DOW_Restrictions + def get_Occupancy(self): + return self.Occupancy + def set_Occupancy(self, Occupancy): + self.Occupancy = Occupancy + def add_Occupancy(self, value): + self.Occupancy.append(value) + def insert_Occupancy_at(self, index, value): + self.Occupancy.insert(index, value) + def replace_Occupancy_at(self, index, value): + self.Occupancy[index] = value + def get_MinAdvancedBookingOffset(self): + return self.MinAdvancedBookingOffset + def set_MinAdvancedBookingOffset(self, MinAdvancedBookingOffset): + self.MinAdvancedBookingOffset = MinAdvancedBookingOffset + def get_MaxAdvancedBookingOffset(self): + return self.MaxAdvancedBookingOffset + def set_MaxAdvancedBookingOffset(self, MaxAdvancedBookingOffset): + self.MaxAdvancedBookingOffset = MaxAdvancedBookingOffset + def validate_MinAdvancedBookingOffsetType(self, value): + # Validate type MinAdvancedBookingOffsetType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MinAdvancedBookingOffsetType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MinAdvancedBookingOffsetType_patterns_, )) + validate_MinAdvancedBookingOffsetType_patterns_ = [['^(P[0-9]+D)$']] + def validate_MaxAdvancedBookingOffsetType(self, value): + # Validate type MaxAdvancedBookingOffsetType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MaxAdvancedBookingOffsetType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaxAdvancedBookingOffsetType_patterns_, )) + validate_MaxAdvancedBookingOffsetType_patterns_ = [['^(P[0-9]+D)$']] + def has__content(self): + if ( + self.LengthsOfStay is not None or + self.DOW_Restrictions is not None or + self.Occupancy + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRuleType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OfferRuleType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRuleType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRuleType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRuleType'): + if self.MinAdvancedBookingOffset is not None and 'MinAdvancedBookingOffset' not in already_processed: + already_processed.add('MinAdvancedBookingOffset') + outfile.write(' MinAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinAdvancedBookingOffset), input_name='MinAdvancedBookingOffset')), )) + if self.MaxAdvancedBookingOffset is not None and 'MaxAdvancedBookingOffset' not in already_processed: + already_processed.add('MaxAdvancedBookingOffset') + outfile.write(' MaxAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MaxAdvancedBookingOffset), input_name='MaxAdvancedBookingOffset')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.LengthsOfStay is not None: + namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' + self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) + if self.DOW_Restrictions is not None: + namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' + self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) + for Occupancy_ in self.Occupancy: + namespaceprefix_ = self.Occupancy_nsprefix_ + ':' if (UseCapturedNS_ and self.Occupancy_nsprefix_) else '' + Occupancy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Occupancy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MinAdvancedBookingOffset', node) + if value is not None and 'MinAdvancedBookingOffset' not in already_processed: + already_processed.add('MinAdvancedBookingOffset') + self.MinAdvancedBookingOffset = value + self.validate_MinAdvancedBookingOffsetType(self.MinAdvancedBookingOffset) # validate type MinAdvancedBookingOffsetType + value = find_attr_value_('MaxAdvancedBookingOffset', node) + if value is not None and 'MaxAdvancedBookingOffset' not in already_processed: + already_processed.add('MaxAdvancedBookingOffset') + self.MaxAdvancedBookingOffset = value + self.validate_MaxAdvancedBookingOffsetType(self.MaxAdvancedBookingOffset) # validate type MaxAdvancedBookingOffsetType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthsOfStay': + obj_ = LengthsOfStayType421.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthsOfStay = obj_ + obj_.original_tagname_ = 'LengthsOfStay' + elif nodeName_ == 'DOW_Restrictions': + obj_ = DOW_RestrictionsType425.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DOW_Restrictions = obj_ + obj_.original_tagname_ = 'DOW_Restrictions' + elif nodeName_ == 'Occupancy': + obj_ = OccupancyType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Occupancy.append(obj_) + obj_.original_tagname_ = 'Occupancy' +# end class OfferRuleType + + +class LengthsOfStayType421(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if LengthOfStay is None: + self.LengthOfStay = [] + else: + self.LengthOfStay = LengthOfStay + self.LengthOfStay_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthsOfStayType421) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthsOfStayType421.subclass: + return LengthsOfStayType421.subclass(*args_, **kwargs_) + else: + return LengthsOfStayType421(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthOfStay(self): + return self.LengthOfStay + def set_LengthOfStay(self, LengthOfStay): + self.LengthOfStay = LengthOfStay + def add_LengthOfStay(self, value): + self.LengthOfStay.append(value) + def insert_LengthOfStay_at(self, index, value): + self.LengthOfStay.insert(index, value) + def replace_LengthOfStay_at(self, index, value): + self.LengthOfStay[index] = value + def has__content(self): + if ( + self.LengthOfStay + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType421', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType421') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthsOfStayType421': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType421') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType421', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType421'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType421', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for LengthOfStay_ in self.LengthOfStay: + namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' + LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthOfStay': + obj_ = LengthOfStayType422.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthOfStay.append(obj_) + obj_.original_tagname_ = 'LengthOfStay' +# end class LengthsOfStayType421 + + +class LengthOfStayType422(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Time = _cast(float, Time) + self.Time_nsprefix_ = None + self.TimeUnit = _cast(None, TimeUnit) + self.TimeUnit_nsprefix_ = None + self.MinMaxMessageType = _cast(None, MinMaxMessageType) + self.MinMaxMessageType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthOfStayType422) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthOfStayType422.subclass: + return LengthOfStayType422.subclass(*args_, **kwargs_) + else: + return LengthOfStayType422(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Time(self): + return self.Time + def set_Time(self, Time): + self.Time = Time + def get_TimeUnit(self): + return self.TimeUnit + def set_TimeUnit(self, TimeUnit): + self.TimeUnit = TimeUnit + def get_MinMaxMessageType(self): + return self.MinMaxMessageType + def set_MinMaxMessageType(self, MinMaxMessageType): + self.MinMaxMessageType = MinMaxMessageType + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_TimeUnitType423(self, value): + # Validate type TimeUnitType423, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType423' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MinMaxMessageTypeType424(self, value): + # Validate type MinMaxMessageTypeType424, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['SetMinLOS', 'SetMaxLOS', ''] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType424' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType422', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType422') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthOfStayType422': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType422') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType422', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType422'): + if self.Time is not None and 'Time' not in already_processed: + already_processed.add('Time') + outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) + if self.TimeUnit is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) + if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType422', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Time', node) + if value is not None and 'Time' not in already_processed: + already_processed.add('Time') + value = self.gds_parse_decimal(value, node, 'Time') + self.Time = value + self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 + value = find_attr_value_('TimeUnit', node) + if value is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + self.TimeUnit = value + self.validate_TimeUnitType423(self.TimeUnit) # validate type TimeUnitType423 + value = find_attr_value_('MinMaxMessageType', node) + if value is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + self.MinMaxMessageType = value + self.validate_MinMaxMessageTypeType424(self.MinMaxMessageType) # validate type MinMaxMessageTypeType424 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class LengthOfStayType422 + + +class DOW_RestrictionsType425(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + self.ArrivalDaysOfWeek_nsprefix_ = None + self.DepartureDaysOfWeek = DepartureDaysOfWeek + self.DepartureDaysOfWeek_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DOW_RestrictionsType425) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DOW_RestrictionsType425.subclass: + return DOW_RestrictionsType425.subclass(*args_, **kwargs_) + else: + return DOW_RestrictionsType425(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ArrivalDaysOfWeek(self): + return self.ArrivalDaysOfWeek + def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + def get_DepartureDaysOfWeek(self): + return self.DepartureDaysOfWeek + def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): + self.DepartureDaysOfWeek = DepartureDaysOfWeek + def has__content(self): + if ( + self.ArrivalDaysOfWeek is not None or + self.DepartureDaysOfWeek is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType425', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType425') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType425': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType425') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType425', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType425'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType425', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ArrivalDaysOfWeek is not None: + namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' + self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) + if self.DepartureDaysOfWeek is not None: + namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' + self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ArrivalDaysOfWeek': + obj_ = ArrivalDaysOfWeekType426.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ArrivalDaysOfWeek = obj_ + obj_.original_tagname_ = 'ArrivalDaysOfWeek' + elif nodeName_ == 'DepartureDaysOfWeek': + obj_ = DepartureDaysOfWeekType427.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DepartureDaysOfWeek = obj_ + obj_.original_tagname_ = 'DepartureDaysOfWeek' +# end class DOW_RestrictionsType425 + + +class ArrivalDaysOfWeekType426(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ArrivalDaysOfWeekType426) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ArrivalDaysOfWeekType426.subclass: + return ArrivalDaysOfWeekType426.subclass(*args_, **kwargs_) + else: + return ArrivalDaysOfWeekType426(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType426', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType426') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType426': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType426') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType426', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType426'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType426', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ArrivalDaysOfWeekType426 + + +class DepartureDaysOfWeekType427(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DepartureDaysOfWeekType427) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DepartureDaysOfWeekType427.subclass: + return DepartureDaysOfWeekType427.subclass(*args_, **kwargs_) + else: + return DepartureDaysOfWeekType427(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType427', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType427') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType427': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType427') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType427', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType427'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType427', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DepartureDaysOfWeekType427 + + +class OccupancyType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AgeQualifyingCode = _cast(None, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + self.MinAge = _cast(int, MinAge) + self.MinAge_nsprefix_ = None + self.MaxAge = _cast(int, MaxAge) + self.MaxAge_nsprefix_ = None + self.MinOccupancy = _cast(int, MinOccupancy) + self.MinOccupancy_nsprefix_ = None + self.MaxOccupancy = _cast(int, MaxOccupancy) + self.MaxOccupancy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OccupancyType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OccupancyType.subclass: + return OccupancyType.subclass(*args_, **kwargs_) + else: + return OccupancyType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def get_MinAge(self): + return self.MinAge + def set_MinAge(self, MinAge): + self.MinAge = MinAge + def get_MaxAge(self): + return self.MaxAge + def set_MaxAge(self, MaxAge): + self.MaxAge = MaxAge + def get_MinOccupancy(self): + return self.MinOccupancy + def set_MinOccupancy(self, MinOccupancy): + self.MinOccupancy = MinOccupancy + def get_MaxOccupancy(self): + return self.MaxOccupancy + def set_MaxOccupancy(self, MaxOccupancy): + self.MaxOccupancy = MaxOccupancy + def validate_AgeQualifyingCodeType(self, value): + # Validate type AgeQualifyingCodeType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['8', '10'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AgeQualifyingCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OccupancyType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OccupancyType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OccupancyType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OccupancyType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OccupancyType'): + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AgeQualifyingCode), input_name='AgeQualifyingCode')), )) + if self.MinAge is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) + if self.MaxAge is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) + if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) + if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = value + self.validate_AgeQualifyingCodeType(self.AgeQualifyingCode) # validate type AgeQualifyingCodeType + value = find_attr_value_('MinAge', node) + if value is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + self.MinAge = self.gds_parse_integer(value, node, 'MinAge') + if self.MinAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 + value = find_attr_value_('MaxAge', node) + if value is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') + if self.MaxAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 + value = find_attr_value_('MinOccupancy', node) + if value is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') + if self.MinOccupancy < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MinOccupancy) # validate type def_int_ge0 + value = find_attr_value_('MaxOccupancy', node) + if value is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') + if self.MaxOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class OccupancyType + + +class DiscountType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Percent = _cast(None, Percent) + self.Percent_nsprefix_ = None + self.NightsRequired = _cast(int, NightsRequired) + self.NightsRequired_nsprefix_ = None + self.NightsDiscounted = _cast(int, NightsDiscounted) + self.NightsDiscounted_nsprefix_ = None + self.DiscountPattern = _cast(None, DiscountPattern) + self.DiscountPattern_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DiscountType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DiscountType.subclass: + return DiscountType.subclass(*args_, **kwargs_) + else: + return DiscountType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Percent(self): + return self.Percent + def set_Percent(self, Percent): + self.Percent = Percent + def get_NightsRequired(self): + return self.NightsRequired + def set_NightsRequired(self, NightsRequired): + self.NightsRequired = NightsRequired + def get_NightsDiscounted(self): + return self.NightsDiscounted + def set_NightsDiscounted(self, NightsDiscounted): + self.NightsDiscounted = NightsDiscounted + def get_DiscountPattern(self): + return self.DiscountPattern + def set_DiscountPattern(self, DiscountPattern): + self.DiscountPattern = DiscountPattern + def validate_PercentType(self, value): + # Validate type PercentType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['100'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on PercentType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_DiscountPatternType(self, value): + # Validate type DiscountPatternType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_DiscountPatternType_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DiscountPatternType_patterns_, )) + validate_DiscountPatternType_patterns_ = [['^(0*1*)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DiscountType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DiscountType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DiscountType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DiscountType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DiscountType'): + if self.Percent is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + outfile.write(' Percent=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Percent), input_name='Percent')), )) + if self.NightsRequired is not None and 'NightsRequired' not in already_processed: + already_processed.add('NightsRequired') + outfile.write(' NightsRequired="%s"' % self.gds_format_integer(self.NightsRequired, input_name='NightsRequired')) + if self.NightsDiscounted is not None and 'NightsDiscounted' not in already_processed: + already_processed.add('NightsDiscounted') + outfile.write(' NightsDiscounted="%s"' % self.gds_format_integer(self.NightsDiscounted, input_name='NightsDiscounted')) + if self.DiscountPattern is not None and 'DiscountPattern' not in already_processed: + already_processed.add('DiscountPattern') + outfile.write(' DiscountPattern=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.DiscountPattern), input_name='DiscountPattern')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Percent', node) + if value is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + self.Percent = value + self.validate_PercentType(self.Percent) # validate type PercentType + value = find_attr_value_('NightsRequired', node) + if value is not None and 'NightsRequired' not in already_processed: + already_processed.add('NightsRequired') + self.NightsRequired = self.gds_parse_integer(value, node, 'NightsRequired') + if self.NightsRequired <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.NightsRequired) # validate type def_int_gt0 + value = find_attr_value_('NightsDiscounted', node) + if value is not None and 'NightsDiscounted' not in already_processed: + already_processed.add('NightsDiscounted') + self.NightsDiscounted = self.gds_parse_integer(value, node, 'NightsDiscounted') + if self.NightsDiscounted <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.NightsDiscounted) # validate type def_int_gt0 + value = find_attr_value_('DiscountPattern', node) + if value is not None and 'DiscountPattern' not in already_processed: + already_processed.add('DiscountPattern') + self.DiscountPattern = value + self.validate_DiscountPatternType(self.DiscountPattern) # validate type DiscountPatternType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DiscountType + + +class GuestsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Guest=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Guest = Guest + self.Guest_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestsType.subclass: + return GuestsType.subclass(*args_, **kwargs_) + else: + return GuestsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Guest(self): + return self.Guest + def set_Guest(self, Guest): + self.Guest = Guest + def has__content(self): + if ( + self.Guest is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Guest is not None: + namespaceprefix_ = self.Guest_nsprefix_ + ':' if (UseCapturedNS_ and self.Guest_nsprefix_) else '' + self.Guest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guest', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Guest': + obj_ = GuestType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Guest = obj_ + obj_.original_tagname_ = 'Guest' +# end class GuestsType + + +class GuestType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + self.MaxAge = _cast(int, MaxAge) + self.MaxAge_nsprefix_ = None + self.MinCount = _cast(int, MinCount) + self.MinCount_nsprefix_ = None + self.FirstQualifyingPosition = _cast(None, FirstQualifyingPosition) + self.FirstQualifyingPosition_nsprefix_ = None + self.LastQualifyingPosition = _cast(int, LastQualifyingPosition) + self.LastQualifyingPosition_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestType.subclass: + return GuestType.subclass(*args_, **kwargs_) + else: + return GuestType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def get_MaxAge(self): + return self.MaxAge + def set_MaxAge(self, MaxAge): + self.MaxAge = MaxAge + def get_MinCount(self): + return self.MinCount + def set_MinCount(self, MinCount): + self.MinCount = MinCount + def get_FirstQualifyingPosition(self): + return self.FirstQualifyingPosition + def set_FirstQualifyingPosition(self, FirstQualifyingPosition): + self.FirstQualifyingPosition = FirstQualifyingPosition + def get_LastQualifyingPosition(self): + return self.LastQualifyingPosition + def set_LastQualifyingPosition(self, LastQualifyingPosition): + self.LastQualifyingPosition = LastQualifyingPosition + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_FirstQualifyingPositionType(self, value): + # Validate type FirstQualifyingPositionType, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on FirstQualifyingPositionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestType'): + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) + if self.MaxAge is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) + if self.MinCount is not None and 'MinCount' not in already_processed: + already_processed.add('MinCount') + outfile.write(' MinCount="%s"' % self.gds_format_integer(self.MinCount, input_name='MinCount')) + if self.FirstQualifyingPosition is not None and 'FirstQualifyingPosition' not in already_processed: + already_processed.add('FirstQualifyingPosition') + outfile.write(' FirstQualifyingPosition=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.FirstQualifyingPosition), input_name='FirstQualifyingPosition')), )) + if self.LastQualifyingPosition is not None and 'LastQualifyingPosition' not in already_processed: + already_processed.add('LastQualifyingPosition') + outfile.write(' LastQualifyingPosition="%s"' % self.gds_format_integer(self.LastQualifyingPosition, input_name='LastQualifyingPosition')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') + if self.AgeQualifyingCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 + value = find_attr_value_('MaxAge', node) + if value is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') + if self.MaxAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 + value = find_attr_value_('MinCount', node) + if value is not None and 'MinCount' not in already_processed: + already_processed.add('MinCount') + self.MinCount = self.gds_parse_integer(value, node, 'MinCount') + if self.MinCount < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MinCount) # validate type def_int_ge0 + value = find_attr_value_('FirstQualifyingPosition', node) + if value is not None and 'FirstQualifyingPosition' not in already_processed: + already_processed.add('FirstQualifyingPosition') + self.FirstQualifyingPosition = value + self.validate_FirstQualifyingPositionType(self.FirstQualifyingPosition) # validate type FirstQualifyingPositionType + value = find_attr_value_('LastQualifyingPosition', node) + if value is not None and 'LastQualifyingPosition' not in already_processed: + already_processed.add('LastQualifyingPosition') + self.LastQualifyingPosition = self.gds_parse_integer(value, node, 'LastQualifyingPosition') + if self.LastQualifyingPosition <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.LastQualifyingPosition) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class GuestType + + +class DescriptionType428(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + if Image is None: + self.Image = [] + else: + self.Image = Image + self.Image_nsprefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + if URL is None: + self.URL = [] + else: + self.URL = URL + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType428) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType428.subclass: + return DescriptionType428.subclass(*args_, **kwargs_) + else: + return DescriptionType428(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Image(self): + return self.Image + def set_Image(self, Image): + self.Image = Image + def add_Image(self, value): + self.Image.append(value) + def insert_Image_at(self, index, value): + self.Image.insert(index, value) + def replace_Image_at(self, index, value): + self.Image[index] = value + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def add_URL(self, value): + self.URL.append(value) + def insert_URL_at(self, index, value): + self.URL.insert(index, value) + def replace_URL_at(self, index, value): + self.URL[index] = value + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_NameType432(self, value): + # Validate type NameType432, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType432' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem or + self.Image or + self.Text or + self.URL + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType428', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType428') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType428': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType428') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType428', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType428'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType428', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) + for Image_ in self.Image: + namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + for URL_ in self.URL: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType432(self.Name) # validate type NameType432 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ListItem') + value_ = self.gds_validate_string(value_, node, 'ListItem') + self.ListItem.append(value_) + self.ListItem_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.ListItem[-1]) + elif nodeName_ == 'Image': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Image') + value_ = self.gds_validate_string(value_, node, 'Image') + self.Image.append(value_) + self.Image_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.Image[-1]) + elif nodeName_ == 'Text': + obj_ = TextType429.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' + elif nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL.append(value_) + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL[-1]) +# end class DescriptionType428 + + +class TextType429(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType429) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType429.subclass: + return TextType429.subclass(*args_, **kwargs_) + else: + return TextType429(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType430(self, value): + # Validate type TextFormatType430, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType430' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType431(self, value): + # Validate type LanguageType431, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType431_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType431_patterns_, )) + validate_LanguageType431_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType429', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType429') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType429': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType429') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType429'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType429', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType430(self.TextFormat) # validate type TextFormatType430 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType431(self.Language) # validate type LanguageType431 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType429 + + +class ErrorsType433(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType433) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType433.subclass: + return ErrorsType433.subclass(*args_, **kwargs_) + else: + return ErrorsType433(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType433', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType433') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType433': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType433') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType433', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType433'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType433', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType434.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType433 + + +class ErrorType434(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType434) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType434.subclass: + return ErrorType434.subclass(*args_, **kwargs_) + else: + return ErrorType434(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType435(self, value): + # Validate type TypeType435, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType435' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType434', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType434') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType434': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType434') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType434'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType434', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType435(self.Type) # validate type TypeType435 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType434 + + +class WarningsType436(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType436) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType436.subclass: + return WarningsType436.subclass(*args_, **kwargs_) + else: + return WarningsType436(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType436', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType436') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType436': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType436') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType436', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType436'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType436', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType437.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType436 + + +class WarningType437(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType437) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType437.subclass: + return WarningType437.subclass(*args_, **kwargs_) + else: + return WarningType437(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType437', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType437') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType437': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType437') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType437'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType437', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType437 + + +class RatePlansType438(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlan = RatePlan + self.RatePlan_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlansType438) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlansType438.subclass: + return RatePlansType438.subclass(*args_, **kwargs_) + else: + return RatePlansType438(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RatePlan(self): + return self.RatePlan + def set_RatePlan(self, RatePlan): + self.RatePlan = RatePlan + def has__content(self): + if ( + self.RatePlan is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType438', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType438') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlansType438': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType438') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType438', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType438'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType438', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RatePlan is not None: + namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' + self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RatePlan': + obj_ = RatePlanType439.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlan = obj_ + obj_.original_tagname_ = 'RatePlan' +# end class RatePlansType438 + + +class RatePlanType439(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DateRange=None, RatePlanCandidates=None, HotelRef=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if DateRange is None: + self.DateRange = [] + else: + self.DateRange = DateRange + self.DateRange_nsprefix_ = None + if RatePlanCandidates is None: + self.RatePlanCandidates = [] + else: + self.RatePlanCandidates = RatePlanCandidates + self.RatePlanCandidates_nsprefix_ = None + if HotelRef is None: + self.HotelRef = [] + else: + self.HotelRef = HotelRef + self.HotelRef_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlanType439) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlanType439.subclass: + return RatePlanType439.subclass(*args_, **kwargs_) + else: + return RatePlanType439(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DateRange(self): + return self.DateRange + def set_DateRange(self, DateRange): + self.DateRange = DateRange + def add_DateRange(self, value): + self.DateRange.append(value) + def insert_DateRange_at(self, index, value): + self.DateRange.insert(index, value) + def replace_DateRange_at(self, index, value): + self.DateRange[index] = value + def get_RatePlanCandidates(self): + return self.RatePlanCandidates + def set_RatePlanCandidates(self, RatePlanCandidates): + self.RatePlanCandidates = RatePlanCandidates + def add_RatePlanCandidates(self, value): + self.RatePlanCandidates.append(value) + def insert_RatePlanCandidates_at(self, index, value): + self.RatePlanCandidates.insert(index, value) + def replace_RatePlanCandidates_at(self, index, value): + self.RatePlanCandidates[index] = value + def get_HotelRef(self): + return self.HotelRef + def set_HotelRef(self, HotelRef): + self.HotelRef = HotelRef + def add_HotelRef(self, value): + self.HotelRef.append(value) + def insert_HotelRef_at(self, index, value): + self.HotelRef.insert(index, value) + def replace_HotelRef_at(self, index, value): + self.HotelRef[index] = value + def has__content(self): + if ( + self.DateRange or + self.RatePlanCandidates or + self.HotelRef + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType439', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType439') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlanType439': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType439') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType439', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType439'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType439', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for DateRange_ in self.DateRange: + namespaceprefix_ = self.DateRange_nsprefix_ + ':' if (UseCapturedNS_ and self.DateRange_nsprefix_) else '' + DateRange_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DateRange', pretty_print=pretty_print) + for RatePlanCandidates_ in self.RatePlanCandidates: + namespaceprefix_ = self.RatePlanCandidates_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlanCandidates_nsprefix_) else '' + RatePlanCandidates_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlanCandidates', pretty_print=pretty_print) + for HotelRef_ in self.HotelRef: + namespaceprefix_ = self.HotelRef_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelRef_nsprefix_) else '' + HotelRef_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelRef', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DateRange': + obj_ = DateRangeType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DateRange.append(obj_) + obj_.original_tagname_ = 'DateRange' + elif nodeName_ == 'RatePlanCandidates': + obj_ = RatePlanCandidatesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlanCandidates.append(obj_) + obj_.original_tagname_ = 'RatePlanCandidates' + elif nodeName_ == 'HotelRef': + obj_ = HotelRefType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelRef.append(obj_) + obj_.original_tagname_ = 'HotelRef' +# end class RatePlanType439 + + +class DateRangeType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DateRangeType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DateRangeType.subclass: + return DateRangeType.subclass(*args_, **kwargs_) + else: + return DateRangeType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DateRangeType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DateRangeType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DateRangeType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DateRangeType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DateRangeType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DateRangeType'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DateRangeType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DateRangeType + + +class RatePlanCandidatesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlanCandidate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if RatePlanCandidate is None: + self.RatePlanCandidate = [] + else: + self.RatePlanCandidate = RatePlanCandidate + self.RatePlanCandidate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlanCandidatesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlanCandidatesType.subclass: + return RatePlanCandidatesType.subclass(*args_, **kwargs_) + else: + return RatePlanCandidatesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RatePlanCandidate(self): + return self.RatePlanCandidate + def set_RatePlanCandidate(self, RatePlanCandidate): + self.RatePlanCandidate = RatePlanCandidate + def add_RatePlanCandidate(self, value): + self.RatePlanCandidate.append(value) + def insert_RatePlanCandidate_at(self, index, value): + self.RatePlanCandidate.insert(index, value) + def replace_RatePlanCandidate_at(self, index, value): + self.RatePlanCandidate[index] = value + def has__content(self): + if ( + self.RatePlanCandidate + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanCandidatesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanCandidatesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlanCandidatesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanCandidatesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanCandidatesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanCandidatesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanCandidatesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for RatePlanCandidate_ in self.RatePlanCandidate: + namespaceprefix_ = self.RatePlanCandidate_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlanCandidate_nsprefix_) else '' + RatePlanCandidate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlanCandidate', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RatePlanCandidate': + obj_ = RatePlanCandidateType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlanCandidate.append(obj_) + obj_.original_tagname_ = 'RatePlanCandidate' +# end class RatePlanCandidatesType + + +class RatePlanCandidateType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlanCode=None, RatePlanID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlanCode = _cast(None, RatePlanCode) + self.RatePlanCode_nsprefix_ = None + self.RatePlanID = _cast(None, RatePlanID) + self.RatePlanID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlanCandidateType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlanCandidateType.subclass: + return RatePlanCandidateType.subclass(*args_, **kwargs_) + else: + return RatePlanCandidateType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RatePlanCode(self): + return self.RatePlanCode + def set_RatePlanCode(self, RatePlanCode): + self.RatePlanCode = RatePlanCode + def get_RatePlanID(self): + return self.RatePlanID + def set_RatePlanID(self, RatePlanID): + self.RatePlanID = RatePlanID + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RatePlanCandidateType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanCandidateType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlanCandidateType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanCandidateType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanCandidateType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanCandidateType'): + if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) + if self.RatePlanID is not None and 'RatePlanID' not in already_processed: + already_processed.add('RatePlanID') + outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RatePlanCandidateType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RatePlanCode', node) + if value is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + self.RatePlanCode = value + self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 + value = find_attr_value_('RatePlanID', node) + if value is not None and 'RatePlanID' not in already_processed: + already_processed.add('RatePlanID') + self.RatePlanID = value + self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class RatePlanCandidateType + + +class HotelRefType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelRefType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelRefType.subclass: + return HotelRefType.subclass(*args_, **kwargs_) + else: + return HotelRefType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelRefType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelRefType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelRefType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelRefType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelRefType', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelRefType'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelRefType', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class HotelRefType + + +class ErrorsType440(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType440) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType440.subclass: + return ErrorsType440.subclass(*args_, **kwargs_) + else: + return ErrorsType440(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType440', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType440') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType440': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType440') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType440', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType440'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType440', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType441.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType440 + + +class ErrorType441(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType441) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType441.subclass: + return ErrorType441.subclass(*args_, **kwargs_) + else: + return ErrorType441(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType442(self, value): + # Validate type TypeType442, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType442' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType441', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType441') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType441': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType441') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType441'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType441', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType442(self.Type) # validate type TypeType442 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType441 + + +class WarningsType443(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType443) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType443.subclass: + return WarningsType443.subclass(*args_, **kwargs_) + else: + return WarningsType443(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType443', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType443') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType443': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType443') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType443', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType443'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType443', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType444.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType443 + + +class WarningType444(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType444) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType444.subclass: + return WarningType444.subclass(*args_, **kwargs_) + else: + return WarningType444(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType444', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType444') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType444': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType444') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType444'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType444', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType444 + + +class RatePlansType445(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + if RatePlan is None: + self.RatePlan = [] + else: + self.RatePlan = RatePlan + self.RatePlan_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlansType445) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlansType445.subclass: + return RatePlansType445.subclass(*args_, **kwargs_) + else: + return RatePlansType445(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RatePlan(self): + return self.RatePlan + def set_RatePlan(self, RatePlan): + self.RatePlan = RatePlan + def add_RatePlan(self, value): + self.RatePlan.append(value) + def insert_RatePlan_at(self, index, value): + self.RatePlan.insert(index, value) + def replace_RatePlan_at(self, index, value): + self.RatePlan[index] = value + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.RatePlan + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType445', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType445') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlansType445': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType445') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType445', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType445'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType445', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for RatePlan_ in self.RatePlan: + namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' + RatePlan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RatePlan': + obj_ = RatePlanType446.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlan.append(obj_) + obj_.original_tagname_ = 'RatePlan' +# end class RatePlansType445 + + +class RatePlanType446(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.RatePlanNotifType = _cast(None, RatePlanNotifType) + self.RatePlanNotifType_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.RatePlanCode = _cast(None, RatePlanCode) + self.RatePlanCode_nsprefix_ = None + self.RatePlanType = _cast(None, RatePlanType) + self.RatePlanType_nsprefix_ = None + self.RatePlanCategory = _cast(None, RatePlanCategory) + self.RatePlanCategory_nsprefix_ = None + self.RatePlanID = _cast(None, RatePlanID) + self.RatePlanID_nsprefix_ = None + self.RatePlanQualifier = _cast(bool, RatePlanQualifier) + self.RatePlanQualifier_nsprefix_ = None + self.BookingRules = BookingRules + self.BookingRules_nsprefix_ = None + self.Rates = Rates + self.Rates_nsprefix_ = None + self.Supplements = Supplements + self.Supplements_nsprefix_ = None + self.Offers = Offers + self.Offers_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlanType446) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlanType446.subclass: + return RatePlanType446.subclass(*args_, **kwargs_) + else: + return RatePlanType446(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BookingRules(self): + return self.BookingRules + def set_BookingRules(self, BookingRules): + self.BookingRules = BookingRules + def get_Rates(self): + return self.Rates + def set_Rates(self, Rates): + self.Rates = Rates + def get_Supplements(self): + return self.Supplements + def set_Supplements(self, Supplements): + self.Supplements = Supplements + def get_Offers(self): + return self.Offers + def set_Offers(self, Offers): + self.Offers = Offers + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def get_RatePlanNotifType(self): + return self.RatePlanNotifType + def set_RatePlanNotifType(self, RatePlanNotifType): + self.RatePlanNotifType = RatePlanNotifType + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_RatePlanCode(self): + return self.RatePlanCode + def set_RatePlanCode(self, RatePlanCode): + self.RatePlanCode = RatePlanCode + def get_RatePlanType(self): + return self.RatePlanType + def set_RatePlanType(self, RatePlanType): + self.RatePlanType = RatePlanType + def get_RatePlanCategory(self): + return self.RatePlanCategory + def set_RatePlanCategory(self, RatePlanCategory): + self.RatePlanCategory = RatePlanCategory + def get_RatePlanID(self): + return self.RatePlanID + def set_RatePlanID(self, RatePlanID): + self.RatePlanID = RatePlanID + def get_RatePlanQualifier(self): + return self.RatePlanQualifier + def set_RatePlanQualifier(self, RatePlanQualifier): + self.RatePlanQualifier = RatePlanQualifier + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_RatePlanNotifTypeType514(self, value): + # Validate type RatePlanNotifTypeType514, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Overlay', 'New', 'Full', 'Remove'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanNotifTypeType514' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_RatePlanTypeType515(self, value): + # Validate type RatePlanTypeType515, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['12'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanTypeType515' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.BookingRules is not None or + self.Rates is not None or + self.Supplements is not None or + self.Offers is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType446', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType446') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlanType446': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType446') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType446', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType446'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + if self.RatePlanNotifType is not None and 'RatePlanNotifType' not in already_processed: + already_processed.add('RatePlanNotifType') + outfile.write(' RatePlanNotifType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanNotifType), input_name='RatePlanNotifType')), )) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) + if self.RatePlanType is not None and 'RatePlanType' not in already_processed: + already_processed.add('RatePlanType') + outfile.write(' RatePlanType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanType), input_name='RatePlanType')), )) + if self.RatePlanCategory is not None and 'RatePlanCategory' not in already_processed: + already_processed.add('RatePlanCategory') + outfile.write(' RatePlanCategory=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCategory), input_name='RatePlanCategory')), )) + if self.RatePlanID is not None and 'RatePlanID' not in already_processed: + already_processed.add('RatePlanID') + outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) + if self.RatePlanQualifier is not None and 'RatePlanQualifier' not in already_processed: + already_processed.add('RatePlanQualifier') + outfile.write(' RatePlanQualifier="%s"' % self.gds_format_boolean(self.RatePlanQualifier, input_name='RatePlanQualifier')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType446', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BookingRules is not None: + namespaceprefix_ = self.BookingRules_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRules_nsprefix_) else '' + self.BookingRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRules', pretty_print=pretty_print) + if self.Rates is not None: + namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' + self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) + if self.Supplements is not None: + namespaceprefix_ = self.Supplements_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplements_nsprefix_) else '' + self.Supplements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplements', pretty_print=pretty_print) + if self.Offers is not None: + namespaceprefix_ = self.Offers_nsprefix_ + ':' if (UseCapturedNS_ and self.Offers_nsprefix_) else '' + self.Offers.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offers', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + value = find_attr_value_('RatePlanNotifType', node) + if value is not None and 'RatePlanNotifType' not in already_processed: + already_processed.add('RatePlanNotifType') + self.RatePlanNotifType = value + self.validate_RatePlanNotifTypeType514(self.RatePlanNotifType) # validate type RatePlanNotifTypeType514 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('RatePlanCode', node) + if value is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + self.RatePlanCode = value + self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 + value = find_attr_value_('RatePlanType', node) + if value is not None and 'RatePlanType' not in already_processed: + already_processed.add('RatePlanType') + self.RatePlanType = value + self.validate_RatePlanTypeType515(self.RatePlanType) # validate type RatePlanTypeType515 + value = find_attr_value_('RatePlanCategory', node) + if value is not None and 'RatePlanCategory' not in already_processed: + already_processed.add('RatePlanCategory') + self.RatePlanCategory = value + self.validate_StringLength1to64(self.RatePlanCategory) # validate type StringLength1to64 + value = find_attr_value_('RatePlanID', node) + if value is not None and 'RatePlanID' not in already_processed: + already_processed.add('RatePlanID') + self.RatePlanID = value + self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 + value = find_attr_value_('RatePlanQualifier', node) + if value is not None and 'RatePlanQualifier' not in already_processed: + already_processed.add('RatePlanQualifier') + if value in ('true', '1'): + self.RatePlanQualifier = True + elif value in ('false', '0'): + self.RatePlanQualifier = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.RatePlanQualifier) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BookingRules': + obj_ = BookingRulesType447.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BookingRules = obj_ + obj_.original_tagname_ = 'BookingRules' + elif nodeName_ == 'Rates': + obj_ = RatesType460.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rates = obj_ + obj_.original_tagname_ = 'Rates' + elif nodeName_ == 'Supplements': + obj_ = SupplementsType476.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Supplements = obj_ + obj_.original_tagname_ = 'Supplements' + elif nodeName_ == 'Offers': + obj_ = OffersType488.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Offers = obj_ + obj_.original_tagname_ = 'Offers' + elif nodeName_ == 'Description': + obj_ = DescriptionType509.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class RatePlanType446 + + +class BookingRulesType447(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BookingRule=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if BookingRule is None: + self.BookingRule = [] + else: + self.BookingRule = BookingRule + self.BookingRule_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BookingRulesType447) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BookingRulesType447.subclass: + return BookingRulesType447.subclass(*args_, **kwargs_) + else: + return BookingRulesType447(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BookingRule(self): + return self.BookingRule + def set_BookingRule(self, BookingRule): + self.BookingRule = BookingRule + def add_BookingRule(self, value): + self.BookingRule.append(value) + def insert_BookingRule_at(self, index, value): + self.BookingRule.insert(index, value) + def replace_BookingRule_at(self, index, value): + self.BookingRule[index] = value + def has__content(self): + if ( + self.BookingRule + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType447', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRulesType447') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BookingRulesType447': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRulesType447') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRulesType447', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRulesType447'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType447', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for BookingRule_ in self.BookingRule: + namespaceprefix_ = self.BookingRule_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRule_nsprefix_) else '' + BookingRule_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRule', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BookingRule': + obj_ = BookingRuleType448.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BookingRule.append(obj_) + obj_.original_tagname_ = 'BookingRule' +# end class BookingRulesType447 + + +class BookingRuleType448(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CodeContext = _cast(None, CodeContext) + self.CodeContext_nsprefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.LengthsOfStay = LengthsOfStay + self.LengthsOfStay_nsprefix_ = None + self.DOW_Restrictions = DOW_Restrictions + self.DOW_Restrictions_nsprefix_ = None + self.RestrictionStatus = RestrictionStatus + self.RestrictionStatus_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BookingRuleType448) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BookingRuleType448.subclass: + return BookingRuleType448.subclass(*args_, **kwargs_) + else: + return BookingRuleType448(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthsOfStay(self): + return self.LengthsOfStay + def set_LengthsOfStay(self, LengthsOfStay): + self.LengthsOfStay = LengthsOfStay + def get_DOW_Restrictions(self): + return self.DOW_Restrictions + def set_DOW_Restrictions(self, DOW_Restrictions): + self.DOW_Restrictions = DOW_Restrictions + def get_RestrictionStatus(self): + return self.RestrictionStatus + def set_RestrictionStatus(self, RestrictionStatus): + self.RestrictionStatus = RestrictionStatus + def get_CodeContext(self): + return self.CodeContext + def set_CodeContext(self, CodeContext): + self.CodeContext = CodeContext + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_CodeContextType459(self, value): + # Validate type CodeContextType459, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ROOMTYPE'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType459' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.LengthsOfStay is not None or + self.DOW_Restrictions is not None or + self.RestrictionStatus is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType448', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRuleType448') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BookingRuleType448': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRuleType448') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRuleType448', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRuleType448'): + if self.CodeContext is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType448', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.LengthsOfStay is not None: + namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' + self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) + if self.DOW_Restrictions is not None: + namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' + self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) + if self.RestrictionStatus is not None: + namespaceprefix_ = self.RestrictionStatus_nsprefix_ + ':' if (UseCapturedNS_ and self.RestrictionStatus_nsprefix_) else '' + self.RestrictionStatus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RestrictionStatus', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CodeContext', node) + if value is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + self.CodeContext = value + self.validate_CodeContextType459(self.CodeContext) # validate type CodeContextType459 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthsOfStay': + obj_ = LengthsOfStayType449.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthsOfStay = obj_ + obj_.original_tagname_ = 'LengthsOfStay' + elif nodeName_ == 'DOW_Restrictions': + obj_ = DOW_RestrictionsType453.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DOW_Restrictions = obj_ + obj_.original_tagname_ = 'DOW_Restrictions' + elif nodeName_ == 'RestrictionStatus': + obj_ = RestrictionStatusType456.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RestrictionStatus = obj_ + obj_.original_tagname_ = 'RestrictionStatus' +# end class BookingRuleType448 + + +class LengthsOfStayType449(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if LengthOfStay is None: + self.LengthOfStay = [] + else: + self.LengthOfStay = LengthOfStay + self.LengthOfStay_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthsOfStayType449) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthsOfStayType449.subclass: + return LengthsOfStayType449.subclass(*args_, **kwargs_) + else: + return LengthsOfStayType449(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthOfStay(self): + return self.LengthOfStay + def set_LengthOfStay(self, LengthOfStay): + self.LengthOfStay = LengthOfStay + def add_LengthOfStay(self, value): + self.LengthOfStay.append(value) + def insert_LengthOfStay_at(self, index, value): + self.LengthOfStay.insert(index, value) + def replace_LengthOfStay_at(self, index, value): + self.LengthOfStay[index] = value + def has__content(self): + if ( + self.LengthOfStay + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType449', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType449') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthsOfStayType449': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType449') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType449', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType449'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType449', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for LengthOfStay_ in self.LengthOfStay: + namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' + LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthOfStay': + obj_ = LengthOfStayType450.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthOfStay.append(obj_) + obj_.original_tagname_ = 'LengthOfStay' +# end class LengthsOfStayType449 + + +class LengthOfStayType450(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Time = _cast(float, Time) + self.Time_nsprefix_ = None + self.TimeUnit = _cast(None, TimeUnit) + self.TimeUnit_nsprefix_ = None + self.MinMaxMessageType = _cast(None, MinMaxMessageType) + self.MinMaxMessageType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthOfStayType450) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthOfStayType450.subclass: + return LengthOfStayType450.subclass(*args_, **kwargs_) + else: + return LengthOfStayType450(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Time(self): + return self.Time + def set_Time(self, Time): + self.Time = Time + def get_TimeUnit(self): + return self.TimeUnit + def set_TimeUnit(self, TimeUnit): + self.TimeUnit = TimeUnit + def get_MinMaxMessageType(self): + return self.MinMaxMessageType + def set_MinMaxMessageType(self, MinMaxMessageType): + self.MinMaxMessageType = MinMaxMessageType + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_TimeUnitType451(self, value): + # Validate type TimeUnitType451, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType451' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MinMaxMessageTypeType452(self, value): + # Validate type MinMaxMessageTypeType452, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['SetMinLOS', 'SetForwardMinStay', 'SetMaxLOS', 'SetForwardMaxStay'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType452' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType450', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType450') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthOfStayType450': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType450') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType450', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType450'): + if self.Time is not None and 'Time' not in already_processed: + already_processed.add('Time') + outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) + if self.TimeUnit is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) + if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType450', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Time', node) + if value is not None and 'Time' not in already_processed: + already_processed.add('Time') + value = self.gds_parse_decimal(value, node, 'Time') + self.Time = value + self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 + value = find_attr_value_('TimeUnit', node) + if value is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + self.TimeUnit = value + self.validate_TimeUnitType451(self.TimeUnit) # validate type TimeUnitType451 + value = find_attr_value_('MinMaxMessageType', node) + if value is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + self.MinMaxMessageType = value + self.validate_MinMaxMessageTypeType452(self.MinMaxMessageType) # validate type MinMaxMessageTypeType452 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class LengthOfStayType450 + + +class DOW_RestrictionsType453(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + self.ArrivalDaysOfWeek_nsprefix_ = None + self.DepartureDaysOfWeek = DepartureDaysOfWeek + self.DepartureDaysOfWeek_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DOW_RestrictionsType453) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DOW_RestrictionsType453.subclass: + return DOW_RestrictionsType453.subclass(*args_, **kwargs_) + else: + return DOW_RestrictionsType453(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ArrivalDaysOfWeek(self): + return self.ArrivalDaysOfWeek + def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + def get_DepartureDaysOfWeek(self): + return self.DepartureDaysOfWeek + def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): + self.DepartureDaysOfWeek = DepartureDaysOfWeek + def has__content(self): + if ( + self.ArrivalDaysOfWeek is not None or + self.DepartureDaysOfWeek is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType453', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType453') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType453': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType453') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType453', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType453'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType453', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ArrivalDaysOfWeek is not None: + namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' + self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) + if self.DepartureDaysOfWeek is not None: + namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' + self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ArrivalDaysOfWeek': + obj_ = ArrivalDaysOfWeekType454.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ArrivalDaysOfWeek = obj_ + obj_.original_tagname_ = 'ArrivalDaysOfWeek' + elif nodeName_ == 'DepartureDaysOfWeek': + obj_ = DepartureDaysOfWeekType455.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DepartureDaysOfWeek = obj_ + obj_.original_tagname_ = 'DepartureDaysOfWeek' +# end class DOW_RestrictionsType453 + + +class ArrivalDaysOfWeekType454(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ArrivalDaysOfWeekType454) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ArrivalDaysOfWeekType454.subclass: + return ArrivalDaysOfWeekType454.subclass(*args_, **kwargs_) + else: + return ArrivalDaysOfWeekType454(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType454', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType454') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType454': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType454') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType454', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType454'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType454', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ArrivalDaysOfWeekType454 + + +class DepartureDaysOfWeekType455(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DepartureDaysOfWeekType455) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DepartureDaysOfWeekType455.subclass: + return DepartureDaysOfWeekType455.subclass(*args_, **kwargs_) + else: + return DepartureDaysOfWeekType455(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType455', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType455') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType455': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType455') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType455', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType455'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType455', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DepartureDaysOfWeekType455 + + +class RestrictionStatusType456(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Restriction=None, Status=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Restriction = _cast(None, Restriction) + self.Restriction_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RestrictionStatusType456) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RestrictionStatusType456.subclass: + return RestrictionStatusType456.subclass(*args_, **kwargs_) + else: + return RestrictionStatusType456(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Restriction(self): + return self.Restriction + def set_Restriction(self, Restriction): + self.Restriction = Restriction + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def validate_RestrictionType457(self, value): + # Validate type RestrictionType457, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Master'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RestrictionType457' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StatusType458(self, value): + # Validate type StatusType458, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Open', 'Close'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType458' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType456', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RestrictionStatusType456') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RestrictionStatusType456': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RestrictionStatusType456') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RestrictionStatusType456', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RestrictionStatusType456'): + if self.Restriction is not None and 'Restriction' not in already_processed: + already_processed.add('Restriction') + outfile.write(' Restriction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Restriction), input_name='Restriction')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType456', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Restriction', node) + if value is not None and 'Restriction' not in already_processed: + already_processed.add('Restriction') + self.Restriction = value + self.validate_RestrictionType457(self.Restriction) # validate type RestrictionType457 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_StatusType458(self.Status) # validate type StatusType458 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class RestrictionStatusType456 + + +class RatesType460(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Rate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Rate is None: + self.Rate = [] + else: + self.Rate = Rate + self.Rate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatesType460) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatesType460.subclass: + return RatesType460.subclass(*args_, **kwargs_) + else: + return RatesType460(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rate(self): + return self.Rate + def set_Rate(self, Rate): + self.Rate = Rate + def add_Rate(self, value): + self.Rate.append(value) + def insert_Rate_at(self, index, value): + self.Rate.insert(index, value) + def replace_Rate_at(self, index, value): + self.Rate[index] = value + def has__content(self): + if ( + self.Rate + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType460', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType460') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatesType460': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType460') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType460', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType460'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType460', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Rate_ in self.Rate: + namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' + Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Rate': + obj_ = RateType461.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rate.append(obj_) + obj_.original_tagname_ = 'Rate' +# end class RatesType460 + + +class RateType461(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MinGuestApplicable = _cast(int, MinGuestApplicable) + self.MinGuestApplicable_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.RateTimeUnit = _cast(None, RateTimeUnit) + self.RateTimeUnit_nsprefix_ = None + self.UnitMultiplier = _cast(int, UnitMultiplier) + self.UnitMultiplier_nsprefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + self.Duration = _cast(None, Duration) + self.Duration_nsprefix_ = None + self.InvTypeCode = _cast(None, InvTypeCode) + self.InvTypeCode_nsprefix_ = None + self.BaseByGuestAmts = BaseByGuestAmts + self.BaseByGuestAmts_nsprefix_ = None + self.AdditionalGuestAmounts = AdditionalGuestAmounts + self.AdditionalGuestAmounts_nsprefix_ = None + self.RateDescription = RateDescription + self.RateDescription_nsprefix_ = None + self.MealsIncluded = MealsIncluded + self.MealsIncluded_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RateType461) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RateType461.subclass: + return RateType461.subclass(*args_, **kwargs_) + else: + return RateType461(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BaseByGuestAmts(self): + return self.BaseByGuestAmts + def set_BaseByGuestAmts(self, BaseByGuestAmts): + self.BaseByGuestAmts = BaseByGuestAmts + def get_AdditionalGuestAmounts(self): + return self.AdditionalGuestAmounts + def set_AdditionalGuestAmounts(self, AdditionalGuestAmounts): + self.AdditionalGuestAmounts = AdditionalGuestAmounts + def get_RateDescription(self): + return self.RateDescription + def set_RateDescription(self, RateDescription): + self.RateDescription = RateDescription + def get_MealsIncluded(self): + return self.MealsIncluded + def set_MealsIncluded(self, MealsIncluded): + self.MealsIncluded = MealsIncluded + def get_MinGuestApplicable(self): + return self.MinGuestApplicable + def set_MinGuestApplicable(self, MinGuestApplicable): + self.MinGuestApplicable = MinGuestApplicable + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def get_RateTimeUnit(self): + return self.RateTimeUnit + def set_RateTimeUnit(self, RateTimeUnit): + self.RateTimeUnit = RateTimeUnit + def get_UnitMultiplier(self): + return self.UnitMultiplier + def set_UnitMultiplier(self, UnitMultiplier): + self.UnitMultiplier = UnitMultiplier + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def get_Duration(self): + return self.Duration + def set_Duration(self, Duration): + self.Duration = Duration + def get_InvTypeCode(self): + return self.InvTypeCode + def set_InvTypeCode(self, InvTypeCode): + self.InvTypeCode = InvTypeCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_RateTimeUnitType474(self, value): + # Validate type RateTimeUnitType474, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType474' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_DurationType475(self, value): + # Validate type DurationType475, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_DurationType475_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType475_patterns_, )) + validate_DurationType475_patterns_ = [['^(P[0-9]+N)$']] + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.BaseByGuestAmts is not None or + self.AdditionalGuestAmounts is not None or + self.RateDescription is not None or + self.MealsIncluded is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType461', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType461') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RateType461': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType461') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType461', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType461'): + if self.MinGuestApplicable is not None and 'MinGuestApplicable' not in already_processed: + already_processed.add('MinGuestApplicable') + outfile.write(' MinGuestApplicable="%s"' % self.gds_format_integer(self.MinGuestApplicable, input_name='MinGuestApplicable')) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) + if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + if self.Duration is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) + if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: + already_processed.add('InvTypeCode') + outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType461', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BaseByGuestAmts is not None: + namespaceprefix_ = self.BaseByGuestAmts_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmts_nsprefix_) else '' + self.BaseByGuestAmts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmts', pretty_print=pretty_print) + if self.AdditionalGuestAmounts is not None: + namespaceprefix_ = self.AdditionalGuestAmounts_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmounts_nsprefix_) else '' + self.AdditionalGuestAmounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmounts', pretty_print=pretty_print) + if self.RateDescription is not None: + namespaceprefix_ = self.RateDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.RateDescription_nsprefix_) else '' + self.RateDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RateDescription', pretty_print=pretty_print) + if self.MealsIncluded is not None: + namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' + self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MinGuestApplicable', node) + if value is not None and 'MinGuestApplicable' not in already_processed: + already_processed.add('MinGuestApplicable') + self.MinGuestApplicable = self.gds_parse_integer(value, node, 'MinGuestApplicable') + if self.MinGuestApplicable <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinGuestApplicable) # validate type def_int_gt0 + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + value = find_attr_value_('RateTimeUnit', node) + if value is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + self.RateTimeUnit = value + self.validate_RateTimeUnitType474(self.RateTimeUnit) # validate type RateTimeUnitType474 + value = find_attr_value_('UnitMultiplier', node) + if value is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') + if self.UnitMultiplier <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + value = find_attr_value_('Duration', node) + if value is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + self.Duration = value + self.validate_DurationType475(self.Duration) # validate type DurationType475 + value = find_attr_value_('InvTypeCode', node) + if value is not None and 'InvTypeCode' not in already_processed: + already_processed.add('InvTypeCode') + self.InvTypeCode = value + self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BaseByGuestAmts': + obj_ = BaseByGuestAmtsType462.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BaseByGuestAmts = obj_ + obj_.original_tagname_ = 'BaseByGuestAmts' + elif nodeName_ == 'AdditionalGuestAmounts': + obj_ = AdditionalGuestAmountsType465.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AdditionalGuestAmounts = obj_ + obj_.original_tagname_ = 'AdditionalGuestAmounts' + elif nodeName_ == 'RateDescription': + obj_ = RateDescriptionType467.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RateDescription = obj_ + obj_.original_tagname_ = 'RateDescription' + elif nodeName_ == 'MealsIncluded': + obj_ = MealsIncludedType471.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MealsIncluded = obj_ + obj_.original_tagname_ = 'MealsIncluded' +# end class RateType461 + + +class BaseByGuestAmtsType462(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BaseByGuestAmt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if BaseByGuestAmt is None: + self.BaseByGuestAmt = [] + else: + self.BaseByGuestAmt = BaseByGuestAmt + self.BaseByGuestAmt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BaseByGuestAmtsType462) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BaseByGuestAmtsType462.subclass: + return BaseByGuestAmtsType462.subclass(*args_, **kwargs_) + else: + return BaseByGuestAmtsType462(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BaseByGuestAmt(self): + return self.BaseByGuestAmt + def set_BaseByGuestAmt(self, BaseByGuestAmt): + self.BaseByGuestAmt = BaseByGuestAmt + def add_BaseByGuestAmt(self, value): + self.BaseByGuestAmt.append(value) + def insert_BaseByGuestAmt_at(self, index, value): + self.BaseByGuestAmt.insert(index, value) + def replace_BaseByGuestAmt_at(self, index, value): + self.BaseByGuestAmt[index] = value + def has__content(self): + if ( + self.BaseByGuestAmt + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType462', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtsType462') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtsType462': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtsType462') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtsType462', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtsType462'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType462', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for BaseByGuestAmt_ in self.BaseByGuestAmt: + namespaceprefix_ = self.BaseByGuestAmt_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmt_nsprefix_) else '' + BaseByGuestAmt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BaseByGuestAmt': + obj_ = BaseByGuestAmtType463.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BaseByGuestAmt.append(obj_) + obj_.original_tagname_ = 'BaseByGuestAmt' +# end class BaseByGuestAmtsType462 + + +class BaseByGuestAmtType463(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NumberOfGuests = _cast(int, NumberOfGuests) + self.NumberOfGuests_nsprefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BaseByGuestAmtType463) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BaseByGuestAmtType463.subclass: + return BaseByGuestAmtType463.subclass(*args_, **kwargs_) + else: + return BaseByGuestAmtType463(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NumberOfGuests(self): + return self.NumberOfGuests + def set_NumberOfGuests(self, NumberOfGuests): + self.NumberOfGuests = NumberOfGuests + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_TypeType464(self, value): + # Validate type TypeType464, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['7', '25'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType464' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType463', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtType463') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtType463': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtType463') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtType463', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtType463'): + if self.NumberOfGuests is not None and 'NumberOfGuests' not in already_processed: + already_processed.add('NumberOfGuests') + outfile.write(' NumberOfGuests="%s"' % self.gds_format_integer(self.NumberOfGuests, input_name='NumberOfGuests')) + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType463', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('NumberOfGuests', node) + if value is not None and 'NumberOfGuests' not in already_processed: + already_processed.add('NumberOfGuests') + self.NumberOfGuests = self.gds_parse_integer(value, node, 'NumberOfGuests') + if self.NumberOfGuests <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.NumberOfGuests) # validate type def_int_gt0 + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType464(self.Type) # validate type TypeType464 + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') + if self.AgeQualifyingCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BaseByGuestAmtType463 + + +class AdditionalGuestAmountsType465(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AdditionalGuestAmount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if AdditionalGuestAmount is None: + self.AdditionalGuestAmount = [] + else: + self.AdditionalGuestAmount = AdditionalGuestAmount + self.AdditionalGuestAmount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AdditionalGuestAmountsType465) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AdditionalGuestAmountsType465.subclass: + return AdditionalGuestAmountsType465.subclass(*args_, **kwargs_) + else: + return AdditionalGuestAmountsType465(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AdditionalGuestAmount(self): + return self.AdditionalGuestAmount + def set_AdditionalGuestAmount(self, AdditionalGuestAmount): + self.AdditionalGuestAmount = AdditionalGuestAmount + def add_AdditionalGuestAmount(self, value): + self.AdditionalGuestAmount.append(value) + def insert_AdditionalGuestAmount_at(self, index, value): + self.AdditionalGuestAmount.insert(index, value) + def replace_AdditionalGuestAmount_at(self, index, value): + self.AdditionalGuestAmount[index] = value + def has__content(self): + if ( + self.AdditionalGuestAmount + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType465', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountsType465') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountsType465': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountsType465') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountsType465', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountsType465'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType465', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for AdditionalGuestAmount_ in self.AdditionalGuestAmount: + namespaceprefix_ = self.AdditionalGuestAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmount_nsprefix_) else '' + AdditionalGuestAmount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AdditionalGuestAmount': + obj_ = AdditionalGuestAmountType466.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AdditionalGuestAmount.append(obj_) + obj_.original_tagname_ = 'AdditionalGuestAmount' +# end class AdditionalGuestAmountsType465 + + +class AdditionalGuestAmountType466(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + self.MinAge = _cast(int, MinAge) + self.MinAge_nsprefix_ = None + self.MaxAge = _cast(int, MaxAge) + self.MaxAge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AdditionalGuestAmountType466) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AdditionalGuestAmountType466.subclass: + return AdditionalGuestAmountType466.subclass(*args_, **kwargs_) + else: + return AdditionalGuestAmountType466(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def get_MinAge(self): + return self.MinAge + def set_MinAge(self, MinAge): + self.MinAge = MinAge + def get_MaxAge(self): + return self.MaxAge + def set_MaxAge(self, MaxAge): + self.MaxAge = MaxAge + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType466', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountType466') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountType466': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountType466') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountType466', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountType466'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) + if self.MinAge is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) + if self.MaxAge is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType466', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') + if self.AgeQualifyingCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 + value = find_attr_value_('MinAge', node) + if value is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + self.MinAge = self.gds_parse_integer(value, node, 'MinAge') + if self.MinAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 + value = find_attr_value_('MaxAge', node) + if value is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') + if self.MaxAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AdditionalGuestAmountType466 + + +class RateDescriptionType467(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RateDescriptionType467) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RateDescriptionType467.subclass: + return RateDescriptionType467.subclass(*args_, **kwargs_) + else: + return RateDescriptionType467(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_NameType470(self, value): + # Validate type NameType470, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['included services'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType470' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType467', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateDescriptionType467') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RateDescriptionType467': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateDescriptionType467') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateDescriptionType467', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateDescriptionType467'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType467', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType470(self.Name) # validate type NameType470 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + obj_ = ListItemType468.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ListItem.append(obj_) + obj_.original_tagname_ = 'ListItem' +# end class RateDescriptionType467 + + +class ListItemType468(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ListItem = _cast(int, ListItem) + self.ListItem_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ListItemType468) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ListItemType468.subclass: + return ListItemType468.subclass(*args_, **kwargs_) + else: + return ListItemType468(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_LanguageType469(self, value): + # Validate type LanguageType469, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType469_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType469_patterns_, )) + validate_LanguageType469_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType468', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType468') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ListItemType468': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType468') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType468'): + if self.ListItem is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType468', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ListItem', node) + if value is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + self.ListItem = self.gds_parse_integer(value, node, 'ListItem') + if self.ListItem < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType469(self.Language) # validate type LanguageType469 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ListItemType468 + + +class MealsIncludedType471(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Breakfast = _cast(bool, Breakfast) + self.Breakfast_nsprefix_ = None + self.Lunch = _cast(bool, Lunch) + self.Lunch_nsprefix_ = None + self.Dinner = _cast(bool, Dinner) + self.Dinner_nsprefix_ = None + self.MealPlanCodes = _cast(None, MealPlanCodes) + self.MealPlanCodes_nsprefix_ = None + self.MealPlanIndicator = _cast(None, MealPlanIndicator) + self.MealPlanIndicator_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MealsIncludedType471) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MealsIncludedType471.subclass: + return MealsIncludedType471.subclass(*args_, **kwargs_) + else: + return MealsIncludedType471(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Breakfast(self): + return self.Breakfast + def set_Breakfast(self, Breakfast): + self.Breakfast = Breakfast + def get_Lunch(self): + return self.Lunch + def set_Lunch(self, Lunch): + self.Lunch = Lunch + def get_Dinner(self): + return self.Dinner + def set_Dinner(self, Dinner): + self.Dinner = Dinner + def get_MealPlanCodes(self): + return self.MealPlanCodes + def set_MealPlanCodes(self, MealPlanCodes): + self.MealPlanCodes = MealPlanCodes + def get_MealPlanIndicator(self): + return self.MealPlanIndicator + def set_MealPlanIndicator(self, MealPlanIndicator): + self.MealPlanIndicator = MealPlanIndicator + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_MealPlanCodesType472(self, value): + # Validate type MealPlanCodesType472, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '3', '10', '12', '14'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType472' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MealPlanIndicatorType473(self, value): + # Validate type MealPlanIndicatorType473, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', 'true'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType473' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType471', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType471') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MealsIncludedType471': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType471') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType471', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType471'): + if self.Breakfast is not None and 'Breakfast' not in already_processed: + already_processed.add('Breakfast') + outfile.write(' Breakfast="%s"' % self.gds_format_boolean(self.Breakfast, input_name='Breakfast')) + if self.Lunch is not None and 'Lunch' not in already_processed: + already_processed.add('Lunch') + outfile.write(' Lunch="%s"' % self.gds_format_boolean(self.Lunch, input_name='Lunch')) + if self.Dinner is not None and 'Dinner' not in already_processed: + already_processed.add('Dinner') + outfile.write(' Dinner="%s"' % self.gds_format_boolean(self.Dinner, input_name='Dinner')) + if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) + if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType471', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Breakfast', node) + if value is not None and 'Breakfast' not in already_processed: + already_processed.add('Breakfast') + if value in ('true', '1'): + self.Breakfast = True + elif value in ('false', '0'): + self.Breakfast = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Breakfast) # validate type def_bool + value = find_attr_value_('Lunch', node) + if value is not None and 'Lunch' not in already_processed: + already_processed.add('Lunch') + if value in ('true', '1'): + self.Lunch = True + elif value in ('false', '0'): + self.Lunch = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Lunch) # validate type def_bool + value = find_attr_value_('Dinner', node) + if value is not None and 'Dinner' not in already_processed: + already_processed.add('Dinner') + if value in ('true', '1'): + self.Dinner = True + elif value in ('false', '0'): + self.Dinner = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Dinner) # validate type def_bool + value = find_attr_value_('MealPlanCodes', node) + if value is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + self.MealPlanCodes = value + self.validate_MealPlanCodesType472(self.MealPlanCodes) # validate type MealPlanCodesType472 + value = find_attr_value_('MealPlanIndicator', node) + if value is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + self.MealPlanIndicator = value + self.validate_MealPlanIndicatorType473(self.MealPlanIndicator) # validate type MealPlanIndicatorType473 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class MealsIncludedType471 + + +class SupplementsType476(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Supplement=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Supplement is None: + self.Supplement = [] + else: + self.Supplement = Supplement + self.Supplement_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SupplementsType476) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SupplementsType476.subclass: + return SupplementsType476.subclass(*args_, **kwargs_) + else: + return SupplementsType476(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Supplement(self): + return self.Supplement + def set_Supplement(self, Supplement): + self.Supplement = Supplement + def add_Supplement(self, value): + self.Supplement.append(value) + def insert_Supplement_at(self, index, value): + self.Supplement.insert(index, value) + def replace_Supplement_at(self, index, value): + self.Supplement[index] = value + def has__content(self): + if ( + self.Supplement + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType476', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementsType476') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SupplementsType476': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementsType476') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementsType476', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementsType476'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType476', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Supplement_ in self.Supplement: + namespaceprefix_ = self.Supplement_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplement_nsprefix_) else '' + Supplement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplement', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Supplement': + obj_ = SupplementType477.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Supplement.append(obj_) + obj_.original_tagname_ = 'Supplement' +# end class SupplementsType476 + + +class SupplementType477(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AddToBasicRateIndicator = _cast(None, AddToBasicRateIndicator) + self.AddToBasicRateIndicator_nsprefix_ = None + self.ChargeTypeCode = _cast(None, ChargeTypeCode) + self.ChargeTypeCode_nsprefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.InvType = _cast(None, InvType) + self.InvType_nsprefix_ = None + self.InvCode = _cast(None, InvCode) + self.InvCode_nsprefix_ = None + self.MandatoryIndicator = _cast(bool, MandatoryIndicator) + self.MandatoryIndicator_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.PrerequisiteInventory = PrerequisiteInventory + self.PrerequisiteInventory_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SupplementType477) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SupplementType477.subclass: + return SupplementType477.subclass(*args_, **kwargs_) + else: + return SupplementType477(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PrerequisiteInventory(self): + return self.PrerequisiteInventory + def set_PrerequisiteInventory(self, PrerequisiteInventory): + self.PrerequisiteInventory = PrerequisiteInventory + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_AddToBasicRateIndicator(self): + return self.AddToBasicRateIndicator + def set_AddToBasicRateIndicator(self, AddToBasicRateIndicator): + self.AddToBasicRateIndicator = AddToBasicRateIndicator + def get_ChargeTypeCode(self): + return self.ChargeTypeCode + def set_ChargeTypeCode(self, ChargeTypeCode): + self.ChargeTypeCode = ChargeTypeCode + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_InvType(self): + return self.InvType + def set_InvType(self, InvType): + self.InvType = InvType + def get_InvCode(self): + return self.InvCode + def set_InvCode(self, InvCode): + self.InvCode = InvCode + def get_MandatoryIndicator(self): + return self.MandatoryIndicator + def set_MandatoryIndicator(self, MandatoryIndicator): + self.MandatoryIndicator = MandatoryIndicator + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_AddToBasicRateIndicatorType485(self, value): + # Validate type AddToBasicRateIndicatorType485, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', 'true'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AddToBasicRateIndicatorType485' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ChargeTypeCodeType486(self, value): + # Validate type ChargeTypeCodeType486, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '12', '18', '19', '20', '21', '24'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeTypeCodeType486' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_InvTypeType487(self, value): + # Validate type InvTypeType487, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['EXTRA', 'ALPINEBITSEXTRA'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType487' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.PrerequisiteInventory is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType477', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementType477') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SupplementType477': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementType477') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementType477', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementType477'): + if self.AddToBasicRateIndicator is not None and 'AddToBasicRateIndicator' not in already_processed: + already_processed.add('AddToBasicRateIndicator') + outfile.write(' AddToBasicRateIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AddToBasicRateIndicator), input_name='AddToBasicRateIndicator')), )) + if self.ChargeTypeCode is not None and 'ChargeTypeCode' not in already_processed: + already_processed.add('ChargeTypeCode') + outfile.write(' ChargeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeTypeCode), input_name='ChargeTypeCode')), )) + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.InvType is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) + if self.InvCode is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) + if self.MandatoryIndicator is not None and 'MandatoryIndicator' not in already_processed: + already_processed.add('MandatoryIndicator') + outfile.write(' MandatoryIndicator="%s"' % self.gds_format_boolean(self.MandatoryIndicator, input_name='MandatoryIndicator')) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType477', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PrerequisiteInventory is not None: + namespaceprefix_ = self.PrerequisiteInventory_nsprefix_ + ':' if (UseCapturedNS_ and self.PrerequisiteInventory_nsprefix_) else '' + self.PrerequisiteInventory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PrerequisiteInventory', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AddToBasicRateIndicator', node) + if value is not None and 'AddToBasicRateIndicator' not in already_processed: + already_processed.add('AddToBasicRateIndicator') + self.AddToBasicRateIndicator = value + self.validate_AddToBasicRateIndicatorType485(self.AddToBasicRateIndicator) # validate type AddToBasicRateIndicatorType485 + value = find_attr_value_('ChargeTypeCode', node) + if value is not None and 'ChargeTypeCode' not in already_processed: + already_processed.add('ChargeTypeCode') + self.ChargeTypeCode = value + self.validate_ChargeTypeCodeType486(self.ChargeTypeCode) # validate type ChargeTypeCodeType486 + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('InvType', node) + if value is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + self.InvType = value + self.validate_InvTypeType487(self.InvType) # validate type InvTypeType487 + value = find_attr_value_('InvCode', node) + if value is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + self.InvCode = value + self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 + value = find_attr_value_('MandatoryIndicator', node) + if value is not None and 'MandatoryIndicator' not in already_processed: + already_processed.add('MandatoryIndicator') + if value in ('true', '1'): + self.MandatoryIndicator = True + elif value in ('false', '0'): + self.MandatoryIndicator = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.MandatoryIndicator) # validate type def_bool + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PrerequisiteInventory': + obj_ = PrerequisiteInventoryType478.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PrerequisiteInventory = obj_ + obj_.original_tagname_ = 'PrerequisiteInventory' + elif nodeName_ == 'Description': + obj_ = DescriptionType480.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class SupplementType477 + + +class PrerequisiteInventoryType478(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, InvCode=None, InvType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.InvCode = _cast(None, InvCode) + self.InvCode_nsprefix_ = None + self.InvType = _cast(None, InvType) + self.InvType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PrerequisiteInventoryType478) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PrerequisiteInventoryType478.subclass: + return PrerequisiteInventoryType478.subclass(*args_, **kwargs_) + else: + return PrerequisiteInventoryType478(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_InvCode(self): + return self.InvCode + def set_InvCode(self, InvCode): + self.InvCode = InvCode + def get_InvType(self): + return self.InvType + def set_InvType(self, InvType): + self.InvType = InvType + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_InvTypeType479(self, value): + # Validate type InvTypeType479, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITSDOW', 'ROOMTYPE'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType479' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType478', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrerequisiteInventoryType478') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PrerequisiteInventoryType478': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrerequisiteInventoryType478') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrerequisiteInventoryType478', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrerequisiteInventoryType478'): + if self.InvCode is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) + if self.InvType is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType478', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('InvCode', node) + if value is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + self.InvCode = value + self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 + value = find_attr_value_('InvType', node) + if value is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + self.InvType = value + self.validate_InvTypeType479(self.InvType) # validate type InvTypeType479 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PrerequisiteInventoryType478 + + +class DescriptionType480(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + if Image is None: + self.Image = [] + else: + self.Image = Image + self.Image_nsprefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + if URL is None: + self.URL = [] + else: + self.URL = URL + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType480) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType480.subclass: + return DescriptionType480.subclass(*args_, **kwargs_) + else: + return DescriptionType480(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Image(self): + return self.Image + def set_Image(self, Image): + self.Image = Image + def add_Image(self, value): + self.Image.append(value) + def insert_Image_at(self, index, value): + self.Image.insert(index, value) + def replace_Image_at(self, index, value): + self.Image[index] = value + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def add_URL(self, value): + self.URL.append(value) + def insert_URL_at(self, index, value): + self.URL.insert(index, value) + def replace_URL_at(self, index, value): + self.URL[index] = value + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_NameType484(self, value): + # Validate type NameType484, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType484' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem or + self.Image or + self.Text or + self.URL + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType480', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType480') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType480': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType480') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType480', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType480'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType480', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) + for Image_ in self.Image: + namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + for URL_ in self.URL: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType484(self.Name) # validate type NameType484 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ListItem') + value_ = self.gds_validate_string(value_, node, 'ListItem') + self.ListItem.append(value_) + self.ListItem_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.ListItem[-1]) + elif nodeName_ == 'Image': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Image') + value_ = self.gds_validate_string(value_, node, 'Image') + self.Image.append(value_) + self.Image_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.Image[-1]) + elif nodeName_ == 'Text': + obj_ = TextType481.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' + elif nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL.append(value_) + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL[-1]) +# end class DescriptionType480 + + +class TextType481(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType481) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType481.subclass: + return TextType481.subclass(*args_, **kwargs_) + else: + return TextType481(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType482(self, value): + # Validate type TextFormatType482, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType482' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType483(self, value): + # Validate type LanguageType483, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType483_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType483_patterns_, )) + validate_LanguageType483_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType481', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType481') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType481': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType481') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType481'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType481', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType482(self.TextFormat) # validate type TextFormatType482 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType483(self.Language) # validate type LanguageType483 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType481 + + +class OffersType488(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Offer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Offer is None: + self.Offer = [] + else: + self.Offer = Offer + self.Offer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OffersType488) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OffersType488.subclass: + return OffersType488.subclass(*args_, **kwargs_) + else: + return OffersType488(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Offer(self): + return self.Offer + def set_Offer(self, Offer): + self.Offer = Offer + def add_Offer(self, value): + self.Offer.append(value) + def insert_Offer_at(self, index, value): + self.Offer.insert(index, value) + def replace_Offer_at(self, index, value): + self.Offer[index] = value + def has__content(self): + if ( + self.Offer + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType488', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OffersType488') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OffersType488': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OffersType488') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OffersType488', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OffersType488'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType488', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Offer_ in self.Offer: + namespaceprefix_ = self.Offer_nsprefix_ + ':' if (UseCapturedNS_ and self.Offer_nsprefix_) else '' + Offer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Offer': + obj_ = OfferType489.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Offer.append(obj_) + obj_.original_tagname_ = 'Offer' +# end class OffersType488 + + +class OfferType489(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, OfferRules=None, Discount=None, Guests=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.OfferRules = OfferRules + self.OfferRules_nsprefix_ = None + self.Discount = Discount + self.Discount_nsprefix_ = None + self.Guests = Guests + self.Guests_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OfferType489) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OfferType489.subclass: + return OfferType489.subclass(*args_, **kwargs_) + else: + return OfferType489(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_OfferRules(self): + return self.OfferRules + def set_OfferRules(self, OfferRules): + self.OfferRules = OfferRules + def get_Discount(self): + return self.Discount + def set_Discount(self, Discount): + self.Discount = Discount + def get_Guests(self): + return self.Guests + def set_Guests(self, Guests): + self.Guests = Guests + def has__content(self): + if ( + self.OfferRules is not None or + self.Discount is not None or + self.Guests is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType489', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferType489') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OfferType489': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferType489') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferType489', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferType489'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType489', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.OfferRules is not None: + namespaceprefix_ = self.OfferRules_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRules_nsprefix_) else '' + self.OfferRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRules', pretty_print=pretty_print) + if self.Discount is not None: + namespaceprefix_ = self.Discount_nsprefix_ + ':' if (UseCapturedNS_ and self.Discount_nsprefix_) else '' + self.Discount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Discount', pretty_print=pretty_print) + if self.Guests is not None: + namespaceprefix_ = self.Guests_nsprefix_ + ':' if (UseCapturedNS_ and self.Guests_nsprefix_) else '' + self.Guests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guests', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'OfferRules': + obj_ = OfferRulesType490.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.OfferRules = obj_ + obj_.original_tagname_ = 'OfferRules' + elif nodeName_ == 'Discount': + obj_ = DiscountType503.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Discount = obj_ + obj_.original_tagname_ = 'Discount' + elif nodeName_ == 'Guests': + obj_ = GuestsType506.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Guests = obj_ + obj_.original_tagname_ = 'Guests' +# end class OfferType489 + + +class OfferRulesType490(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, OfferRule=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.OfferRule = OfferRule + self.OfferRule_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OfferRulesType490) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OfferRulesType490.subclass: + return OfferRulesType490.subclass(*args_, **kwargs_) + else: + return OfferRulesType490(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_OfferRule(self): + return self.OfferRule + def set_OfferRule(self, OfferRule): + self.OfferRule = OfferRule + def has__content(self): + if ( + self.OfferRule is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType490', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRulesType490') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OfferRulesType490': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRulesType490') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRulesType490', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRulesType490'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType490', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.OfferRule is not None: + namespaceprefix_ = self.OfferRule_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRule_nsprefix_) else '' + self.OfferRule.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRule', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'OfferRule': + obj_ = OfferRuleType491.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.OfferRule = obj_ + obj_.original_tagname_ = 'OfferRule' +# end class OfferRulesType490 + + +class OfferRuleType491(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MinAdvancedBookingOffset = _cast(None, MinAdvancedBookingOffset) + self.MinAdvancedBookingOffset_nsprefix_ = None + self.MaxAdvancedBookingOffset = _cast(None, MaxAdvancedBookingOffset) + self.MaxAdvancedBookingOffset_nsprefix_ = None + self.LengthsOfStay = LengthsOfStay + self.LengthsOfStay_nsprefix_ = None + self.DOW_Restrictions = DOW_Restrictions + self.DOW_Restrictions_nsprefix_ = None + if Occupancy is None: + self.Occupancy = [] + else: + self.Occupancy = Occupancy + self.Occupancy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OfferRuleType491) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OfferRuleType491.subclass: + return OfferRuleType491.subclass(*args_, **kwargs_) + else: + return OfferRuleType491(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthsOfStay(self): + return self.LengthsOfStay + def set_LengthsOfStay(self, LengthsOfStay): + self.LengthsOfStay = LengthsOfStay + def get_DOW_Restrictions(self): + return self.DOW_Restrictions + def set_DOW_Restrictions(self, DOW_Restrictions): + self.DOW_Restrictions = DOW_Restrictions + def get_Occupancy(self): + return self.Occupancy + def set_Occupancy(self, Occupancy): + self.Occupancy = Occupancy + def add_Occupancy(self, value): + self.Occupancy.append(value) + def insert_Occupancy_at(self, index, value): + self.Occupancy.insert(index, value) + def replace_Occupancy_at(self, index, value): + self.Occupancy[index] = value + def get_MinAdvancedBookingOffset(self): + return self.MinAdvancedBookingOffset + def set_MinAdvancedBookingOffset(self, MinAdvancedBookingOffset): + self.MinAdvancedBookingOffset = MinAdvancedBookingOffset + def get_MaxAdvancedBookingOffset(self): + return self.MaxAdvancedBookingOffset + def set_MaxAdvancedBookingOffset(self, MaxAdvancedBookingOffset): + self.MaxAdvancedBookingOffset = MaxAdvancedBookingOffset + def validate_MinAdvancedBookingOffsetType501(self, value): + # Validate type MinAdvancedBookingOffsetType501, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MinAdvancedBookingOffsetType501_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MinAdvancedBookingOffsetType501_patterns_, )) + validate_MinAdvancedBookingOffsetType501_patterns_ = [['^(P[0-9]+D)$']] + def validate_MaxAdvancedBookingOffsetType502(self, value): + # Validate type MaxAdvancedBookingOffsetType502, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MaxAdvancedBookingOffsetType502_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaxAdvancedBookingOffsetType502_patterns_, )) + validate_MaxAdvancedBookingOffsetType502_patterns_ = [['^(P[0-9]+D)$']] + def has__content(self): + if ( + self.LengthsOfStay is not None or + self.DOW_Restrictions is not None or + self.Occupancy + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType491', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRuleType491') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OfferRuleType491': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRuleType491') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRuleType491', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRuleType491'): + if self.MinAdvancedBookingOffset is not None and 'MinAdvancedBookingOffset' not in already_processed: + already_processed.add('MinAdvancedBookingOffset') + outfile.write(' MinAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinAdvancedBookingOffset), input_name='MinAdvancedBookingOffset')), )) + if self.MaxAdvancedBookingOffset is not None and 'MaxAdvancedBookingOffset' not in already_processed: + already_processed.add('MaxAdvancedBookingOffset') + outfile.write(' MaxAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MaxAdvancedBookingOffset), input_name='MaxAdvancedBookingOffset')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType491', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.LengthsOfStay is not None: + namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' + self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) + if self.DOW_Restrictions is not None: + namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' + self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) + for Occupancy_ in self.Occupancy: + namespaceprefix_ = self.Occupancy_nsprefix_ + ':' if (UseCapturedNS_ and self.Occupancy_nsprefix_) else '' + Occupancy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Occupancy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MinAdvancedBookingOffset', node) + if value is not None and 'MinAdvancedBookingOffset' not in already_processed: + already_processed.add('MinAdvancedBookingOffset') + self.MinAdvancedBookingOffset = value + self.validate_MinAdvancedBookingOffsetType501(self.MinAdvancedBookingOffset) # validate type MinAdvancedBookingOffsetType501 + value = find_attr_value_('MaxAdvancedBookingOffset', node) + if value is not None and 'MaxAdvancedBookingOffset' not in already_processed: + already_processed.add('MaxAdvancedBookingOffset') + self.MaxAdvancedBookingOffset = value + self.validate_MaxAdvancedBookingOffsetType502(self.MaxAdvancedBookingOffset) # validate type MaxAdvancedBookingOffsetType502 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthsOfStay': + obj_ = LengthsOfStayType492.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthsOfStay = obj_ + obj_.original_tagname_ = 'LengthsOfStay' + elif nodeName_ == 'DOW_Restrictions': + obj_ = DOW_RestrictionsType496.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DOW_Restrictions = obj_ + obj_.original_tagname_ = 'DOW_Restrictions' + elif nodeName_ == 'Occupancy': + obj_ = OccupancyType499.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Occupancy.append(obj_) + obj_.original_tagname_ = 'Occupancy' +# end class OfferRuleType491 + + +class LengthsOfStayType492(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if LengthOfStay is None: + self.LengthOfStay = [] + else: + self.LengthOfStay = LengthOfStay + self.LengthOfStay_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthsOfStayType492) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthsOfStayType492.subclass: + return LengthsOfStayType492.subclass(*args_, **kwargs_) + else: + return LengthsOfStayType492(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthOfStay(self): + return self.LengthOfStay + def set_LengthOfStay(self, LengthOfStay): + self.LengthOfStay = LengthOfStay + def add_LengthOfStay(self, value): + self.LengthOfStay.append(value) + def insert_LengthOfStay_at(self, index, value): + self.LengthOfStay.insert(index, value) + def replace_LengthOfStay_at(self, index, value): + self.LengthOfStay[index] = value + def has__content(self): + if ( + self.LengthOfStay + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType492', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType492') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthsOfStayType492': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType492') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType492', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType492'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType492', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for LengthOfStay_ in self.LengthOfStay: + namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' + LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthOfStay': + obj_ = LengthOfStayType493.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthOfStay.append(obj_) + obj_.original_tagname_ = 'LengthOfStay' +# end class LengthsOfStayType492 + + +class LengthOfStayType493(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Time = _cast(float, Time) + self.Time_nsprefix_ = None + self.TimeUnit = _cast(None, TimeUnit) + self.TimeUnit_nsprefix_ = None + self.MinMaxMessageType = _cast(None, MinMaxMessageType) + self.MinMaxMessageType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthOfStayType493) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthOfStayType493.subclass: + return LengthOfStayType493.subclass(*args_, **kwargs_) + else: + return LengthOfStayType493(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Time(self): + return self.Time + def set_Time(self, Time): + self.Time = Time + def get_TimeUnit(self): + return self.TimeUnit + def set_TimeUnit(self, TimeUnit): + self.TimeUnit = TimeUnit + def get_MinMaxMessageType(self): + return self.MinMaxMessageType + def set_MinMaxMessageType(self, MinMaxMessageType): + self.MinMaxMessageType = MinMaxMessageType + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_TimeUnitType494(self, value): + # Validate type TimeUnitType494, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType494' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MinMaxMessageTypeType495(self, value): + # Validate type MinMaxMessageTypeType495, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['SetMinLOS', 'SetMaxLOS', ''] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType495' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType493', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType493') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthOfStayType493': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType493') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType493', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType493'): + if self.Time is not None and 'Time' not in already_processed: + already_processed.add('Time') + outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) + if self.TimeUnit is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) + if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType493', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Time', node) + if value is not None and 'Time' not in already_processed: + already_processed.add('Time') + value = self.gds_parse_decimal(value, node, 'Time') + self.Time = value + self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 + value = find_attr_value_('TimeUnit', node) + if value is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + self.TimeUnit = value + self.validate_TimeUnitType494(self.TimeUnit) # validate type TimeUnitType494 + value = find_attr_value_('MinMaxMessageType', node) + if value is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + self.MinMaxMessageType = value + self.validate_MinMaxMessageTypeType495(self.MinMaxMessageType) # validate type MinMaxMessageTypeType495 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class LengthOfStayType493 + + +class DOW_RestrictionsType496(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + self.ArrivalDaysOfWeek_nsprefix_ = None + self.DepartureDaysOfWeek = DepartureDaysOfWeek + self.DepartureDaysOfWeek_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DOW_RestrictionsType496) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DOW_RestrictionsType496.subclass: + return DOW_RestrictionsType496.subclass(*args_, **kwargs_) + else: + return DOW_RestrictionsType496(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ArrivalDaysOfWeek(self): + return self.ArrivalDaysOfWeek + def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + def get_DepartureDaysOfWeek(self): + return self.DepartureDaysOfWeek + def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): + self.DepartureDaysOfWeek = DepartureDaysOfWeek + def has__content(self): + if ( + self.ArrivalDaysOfWeek is not None or + self.DepartureDaysOfWeek is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType496', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType496') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType496': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType496') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType496', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType496'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType496', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ArrivalDaysOfWeek is not None: + namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' + self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) + if self.DepartureDaysOfWeek is not None: + namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' + self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ArrivalDaysOfWeek': + obj_ = ArrivalDaysOfWeekType497.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ArrivalDaysOfWeek = obj_ + obj_.original_tagname_ = 'ArrivalDaysOfWeek' + elif nodeName_ == 'DepartureDaysOfWeek': + obj_ = DepartureDaysOfWeekType498.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DepartureDaysOfWeek = obj_ + obj_.original_tagname_ = 'DepartureDaysOfWeek' +# end class DOW_RestrictionsType496 + + +class ArrivalDaysOfWeekType497(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ArrivalDaysOfWeekType497) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ArrivalDaysOfWeekType497.subclass: + return ArrivalDaysOfWeekType497.subclass(*args_, **kwargs_) + else: + return ArrivalDaysOfWeekType497(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType497', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType497') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType497': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType497') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType497', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType497'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType497', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ArrivalDaysOfWeekType497 + + +class DepartureDaysOfWeekType498(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DepartureDaysOfWeekType498) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DepartureDaysOfWeekType498.subclass: + return DepartureDaysOfWeekType498.subclass(*args_, **kwargs_) + else: + return DepartureDaysOfWeekType498(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType498', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType498') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType498': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType498') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType498', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType498'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType498', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DepartureDaysOfWeekType498 + + +class OccupancyType499(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AgeQualifyingCode = _cast(None, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + self.MinAge = _cast(int, MinAge) + self.MinAge_nsprefix_ = None + self.MaxAge = _cast(int, MaxAge) + self.MaxAge_nsprefix_ = None + self.MinOccupancy = _cast(int, MinOccupancy) + self.MinOccupancy_nsprefix_ = None + self.MaxOccupancy = _cast(int, MaxOccupancy) + self.MaxOccupancy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OccupancyType499) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OccupancyType499.subclass: + return OccupancyType499.subclass(*args_, **kwargs_) + else: + return OccupancyType499(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def get_MinAge(self): + return self.MinAge + def set_MinAge(self, MinAge): + self.MinAge = MinAge + def get_MaxAge(self): + return self.MaxAge + def set_MaxAge(self, MaxAge): + self.MaxAge = MaxAge + def get_MinOccupancy(self): + return self.MinOccupancy + def set_MinOccupancy(self, MinOccupancy): + self.MinOccupancy = MinOccupancy + def get_MaxOccupancy(self): + return self.MaxOccupancy + def set_MaxOccupancy(self, MaxOccupancy): + self.MaxOccupancy = MaxOccupancy + def validate_AgeQualifyingCodeType500(self, value): + # Validate type AgeQualifyingCodeType500, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['8', '10'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AgeQualifyingCodeType500' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType499', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OccupancyType499') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OccupancyType499': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OccupancyType499') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OccupancyType499', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OccupancyType499'): + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AgeQualifyingCode), input_name='AgeQualifyingCode')), )) + if self.MinAge is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) + if self.MaxAge is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) + if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) + if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType499', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = value + self.validate_AgeQualifyingCodeType500(self.AgeQualifyingCode) # validate type AgeQualifyingCodeType500 + value = find_attr_value_('MinAge', node) + if value is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + self.MinAge = self.gds_parse_integer(value, node, 'MinAge') + if self.MinAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 + value = find_attr_value_('MaxAge', node) + if value is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') + if self.MaxAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 + value = find_attr_value_('MinOccupancy', node) + if value is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') + if self.MinOccupancy < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MinOccupancy) # validate type def_int_ge0 + value = find_attr_value_('MaxOccupancy', node) + if value is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') + if self.MaxOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class OccupancyType499 + + +class DiscountType503(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Percent = _cast(None, Percent) + self.Percent_nsprefix_ = None + self.NightsRequired = _cast(int, NightsRequired) + self.NightsRequired_nsprefix_ = None + self.NightsDiscounted = _cast(int, NightsDiscounted) + self.NightsDiscounted_nsprefix_ = None + self.DiscountPattern = _cast(None, DiscountPattern) + self.DiscountPattern_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DiscountType503) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DiscountType503.subclass: + return DiscountType503.subclass(*args_, **kwargs_) + else: + return DiscountType503(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Percent(self): + return self.Percent + def set_Percent(self, Percent): + self.Percent = Percent + def get_NightsRequired(self): + return self.NightsRequired + def set_NightsRequired(self, NightsRequired): + self.NightsRequired = NightsRequired + def get_NightsDiscounted(self): + return self.NightsDiscounted + def set_NightsDiscounted(self, NightsDiscounted): + self.NightsDiscounted = NightsDiscounted + def get_DiscountPattern(self): + return self.DiscountPattern + def set_DiscountPattern(self, DiscountPattern): + self.DiscountPattern = DiscountPattern + def validate_PercentType504(self, value): + # Validate type PercentType504, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['100'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on PercentType504' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_DiscountPatternType505(self, value): + # Validate type DiscountPatternType505, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_DiscountPatternType505_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DiscountPatternType505_patterns_, )) + validate_DiscountPatternType505_patterns_ = [['^(0*1*)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType503', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DiscountType503') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DiscountType503': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DiscountType503') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DiscountType503', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DiscountType503'): + if self.Percent is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + outfile.write(' Percent=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Percent), input_name='Percent')), )) + if self.NightsRequired is not None and 'NightsRequired' not in already_processed: + already_processed.add('NightsRequired') + outfile.write(' NightsRequired="%s"' % self.gds_format_integer(self.NightsRequired, input_name='NightsRequired')) + if self.NightsDiscounted is not None and 'NightsDiscounted' not in already_processed: + already_processed.add('NightsDiscounted') + outfile.write(' NightsDiscounted="%s"' % self.gds_format_integer(self.NightsDiscounted, input_name='NightsDiscounted')) + if self.DiscountPattern is not None and 'DiscountPattern' not in already_processed: + already_processed.add('DiscountPattern') + outfile.write(' DiscountPattern=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.DiscountPattern), input_name='DiscountPattern')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType503', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Percent', node) + if value is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + self.Percent = value + self.validate_PercentType504(self.Percent) # validate type PercentType504 + value = find_attr_value_('NightsRequired', node) + if value is not None and 'NightsRequired' not in already_processed: + already_processed.add('NightsRequired') + self.NightsRequired = self.gds_parse_integer(value, node, 'NightsRequired') + if self.NightsRequired <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.NightsRequired) # validate type def_int_gt0 + value = find_attr_value_('NightsDiscounted', node) + if value is not None and 'NightsDiscounted' not in already_processed: + already_processed.add('NightsDiscounted') + self.NightsDiscounted = self.gds_parse_integer(value, node, 'NightsDiscounted') + if self.NightsDiscounted <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.NightsDiscounted) # validate type def_int_gt0 + value = find_attr_value_('DiscountPattern', node) + if value is not None and 'DiscountPattern' not in already_processed: + already_processed.add('DiscountPattern') + self.DiscountPattern = value + self.validate_DiscountPatternType505(self.DiscountPattern) # validate type DiscountPatternType505 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DiscountType503 + + +class GuestsType506(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Guest=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Guest = Guest + self.Guest_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestsType506) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestsType506.subclass: + return GuestsType506.subclass(*args_, **kwargs_) + else: + return GuestsType506(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Guest(self): + return self.Guest + def set_Guest(self, Guest): + self.Guest = Guest + def has__content(self): + if ( + self.Guest is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType506', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestsType506') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestsType506': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestsType506') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestsType506', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestsType506'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType506', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Guest is not None: + namespaceprefix_ = self.Guest_nsprefix_ + ':' if (UseCapturedNS_ and self.Guest_nsprefix_) else '' + self.Guest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guest', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Guest': + obj_ = GuestType507.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Guest = obj_ + obj_.original_tagname_ = 'Guest' +# end class GuestsType506 + + +class GuestType507(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + self.MaxAge = _cast(int, MaxAge) + self.MaxAge_nsprefix_ = None + self.MinCount = _cast(int, MinCount) + self.MinCount_nsprefix_ = None + self.FirstQualifyingPosition = _cast(None, FirstQualifyingPosition) + self.FirstQualifyingPosition_nsprefix_ = None + self.LastQualifyingPosition = _cast(int, LastQualifyingPosition) + self.LastQualifyingPosition_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestType507) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestType507.subclass: + return GuestType507.subclass(*args_, **kwargs_) + else: + return GuestType507(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def get_MaxAge(self): + return self.MaxAge + def set_MaxAge(self, MaxAge): + self.MaxAge = MaxAge + def get_MinCount(self): + return self.MinCount + def set_MinCount(self, MinCount): + self.MinCount = MinCount + def get_FirstQualifyingPosition(self): + return self.FirstQualifyingPosition + def set_FirstQualifyingPosition(self, FirstQualifyingPosition): + self.FirstQualifyingPosition = FirstQualifyingPosition + def get_LastQualifyingPosition(self): + return self.LastQualifyingPosition + def set_LastQualifyingPosition(self, LastQualifyingPosition): + self.LastQualifyingPosition = LastQualifyingPosition + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_FirstQualifyingPositionType508(self, value): + # Validate type FirstQualifyingPositionType508, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on FirstQualifyingPositionType508' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType507', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestType507') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestType507': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestType507') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestType507', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestType507'): + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) + if self.MaxAge is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) + if self.MinCount is not None and 'MinCount' not in already_processed: + already_processed.add('MinCount') + outfile.write(' MinCount="%s"' % self.gds_format_integer(self.MinCount, input_name='MinCount')) + if self.FirstQualifyingPosition is not None and 'FirstQualifyingPosition' not in already_processed: + already_processed.add('FirstQualifyingPosition') + outfile.write(' FirstQualifyingPosition=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.FirstQualifyingPosition), input_name='FirstQualifyingPosition')), )) + if self.LastQualifyingPosition is not None and 'LastQualifyingPosition' not in already_processed: + already_processed.add('LastQualifyingPosition') + outfile.write(' LastQualifyingPosition="%s"' % self.gds_format_integer(self.LastQualifyingPosition, input_name='LastQualifyingPosition')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType507', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') + if self.AgeQualifyingCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 + value = find_attr_value_('MaxAge', node) + if value is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') + if self.MaxAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 + value = find_attr_value_('MinCount', node) + if value is not None and 'MinCount' not in already_processed: + already_processed.add('MinCount') + self.MinCount = self.gds_parse_integer(value, node, 'MinCount') + if self.MinCount < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MinCount) # validate type def_int_ge0 + value = find_attr_value_('FirstQualifyingPosition', node) + if value is not None and 'FirstQualifyingPosition' not in already_processed: + already_processed.add('FirstQualifyingPosition') + self.FirstQualifyingPosition = value + self.validate_FirstQualifyingPositionType508(self.FirstQualifyingPosition) # validate type FirstQualifyingPositionType508 + value = find_attr_value_('LastQualifyingPosition', node) + if value is not None and 'LastQualifyingPosition' not in already_processed: + already_processed.add('LastQualifyingPosition') + self.LastQualifyingPosition = self.gds_parse_integer(value, node, 'LastQualifyingPosition') + if self.LastQualifyingPosition <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.LastQualifyingPosition) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class GuestType507 + + +class DescriptionType509(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + if Image is None: + self.Image = [] + else: + self.Image = Image + self.Image_nsprefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + if URL is None: + self.URL = [] + else: + self.URL = URL + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType509) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType509.subclass: + return DescriptionType509.subclass(*args_, **kwargs_) + else: + return DescriptionType509(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Image(self): + return self.Image + def set_Image(self, Image): + self.Image = Image + def add_Image(self, value): + self.Image.append(value) + def insert_Image_at(self, index, value): + self.Image.insert(index, value) + def replace_Image_at(self, index, value): + self.Image[index] = value + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def add_URL(self, value): + self.URL.append(value) + def insert_URL_at(self, index, value): + self.URL.insert(index, value) + def replace_URL_at(self, index, value): + self.URL[index] = value + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_NameType513(self, value): + # Validate type NameType513, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType513' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem or + self.Image or + self.Text or + self.URL + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType509', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType509') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType509': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType509') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType509', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType509'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType509', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) + for Image_ in self.Image: + namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + for URL_ in self.URL: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType513(self.Name) # validate type NameType513 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ListItem') + value_ = self.gds_validate_string(value_, node, 'ListItem') + self.ListItem.append(value_) + self.ListItem_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.ListItem[-1]) + elif nodeName_ == 'Image': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Image') + value_ = self.gds_validate_string(value_, node, 'Image') + self.Image.append(value_) + self.Image_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.Image[-1]) + elif nodeName_ == 'Text': + obj_ = TextType510.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' + elif nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL.append(value_) + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL[-1]) +# end class DescriptionType509 + + +class TextType510(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType510) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType510.subclass: + return TextType510.subclass(*args_, **kwargs_) + else: + return TextType510(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType511(self, value): + # Validate type TextFormatType511, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType511' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType512(self, value): + # Validate type LanguageType512, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType512_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType512_patterns_, )) + validate_LanguageType512_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType510', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType510') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType510': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType510') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType510'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType510', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType511(self.TextFormat) # validate type TextFormatType511 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType512(self.Language) # validate type LanguageType512 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType510 + + +class HotelReservationType516(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CreateDateTime = _cast(None, CreateDateTime) + self.CreateDateTime_nsprefix_ = None + self.LastModifyDateTime = _cast(None, LastModifyDateTime) + self.LastModifyDateTime_nsprefix_ = None + self.ResStatus = _cast(None, ResStatus) + self.ResStatus_nsprefix_ = None + self.RoomStayReservation = _cast(bool, RoomStayReservation) + self.RoomStayReservation_nsprefix_ = None + self.UniqueID = UniqueID + self.UniqueID_nsprefix_ = None + self.RoomStays = RoomStays + self.RoomStays_nsprefix_ = None + self.Services = Services + self.Services_nsprefix_ = None + self.ResGuests = ResGuests + self.ResGuests_nsprefix_ = None + self.ResGlobalInfo = ResGlobalInfo + self.ResGlobalInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationType516) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationType516.subclass: + return HotelReservationType516.subclass(*args_, **kwargs_) + else: + return HotelReservationType516(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_UniqueID(self): + return self.UniqueID + def set_UniqueID(self, UniqueID): + self.UniqueID = UniqueID + def get_RoomStays(self): + return self.RoomStays + def set_RoomStays(self, RoomStays): + self.RoomStays = RoomStays + def get_Services(self): + return self.Services + def set_Services(self, Services): + self.Services = Services + def get_ResGuests(self): + return self.ResGuests + def set_ResGuests(self, ResGuests): + self.ResGuests = ResGuests + def get_ResGlobalInfo(self): + return self.ResGlobalInfo + def set_ResGlobalInfo(self, ResGlobalInfo): + self.ResGlobalInfo = ResGlobalInfo + def get_CreateDateTime(self): + return self.CreateDateTime + def set_CreateDateTime(self, CreateDateTime): + self.CreateDateTime = CreateDateTime + def get_LastModifyDateTime(self): + return self.LastModifyDateTime + def set_LastModifyDateTime(self, LastModifyDateTime): + self.LastModifyDateTime = LastModifyDateTime + def get_ResStatus(self): + return self.ResStatus + def set_ResStatus(self, ResStatus): + self.ResStatus = ResStatus + def get_RoomStayReservation(self): + return self.RoomStayReservation + def set_RoomStayReservation(self, RoomStayReservation): + self.RoomStayReservation = RoomStayReservation + def validate_def_datetime(self, value): + # Validate type def_datetime, a restriction on xs:dateTime. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.datetime): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_datetime_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) + validate_def_datetime_patterns_ = [['^(\\S+)$']] + def validate_ResStatusType634(self, value): + # Validate type ResStatusType634, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Requested', 'Reserved', 'Cancelled', 'Modify'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ResStatusType634' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.UniqueID is not None or + self.RoomStays is not None or + self.Services is not None or + self.ResGuests is not None or + self.ResGlobalInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType516', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType516') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationType516': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType516') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType516', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType516'): + if self.CreateDateTime is not None and 'CreateDateTime' not in already_processed: + already_processed.add('CreateDateTime') + outfile.write(' CreateDateTime="%s"' % self.gds_format_datetime(self.CreateDateTime, input_name='CreateDateTime')) + if self.LastModifyDateTime is not None and 'LastModifyDateTime' not in already_processed: + already_processed.add('LastModifyDateTime') + outfile.write(' LastModifyDateTime="%s"' % self.gds_format_datetime(self.LastModifyDateTime, input_name='LastModifyDateTime')) + if self.ResStatus is not None and 'ResStatus' not in already_processed: + already_processed.add('ResStatus') + outfile.write(' ResStatus=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResStatus), input_name='ResStatus')), )) + if self.RoomStayReservation is not None and 'RoomStayReservation' not in already_processed: + already_processed.add('RoomStayReservation') + outfile.write(' RoomStayReservation="%s"' % self.gds_format_boolean(self.RoomStayReservation, input_name='RoomStayReservation')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType516', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.UniqueID is not None: + namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' + self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) + if self.RoomStays is not None: + namespaceprefix_ = self.RoomStays_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStays_nsprefix_) else '' + self.RoomStays.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStays', pretty_print=pretty_print) + if self.Services is not None: + namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' + self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) + if self.ResGuests is not None: + namespaceprefix_ = self.ResGuests_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuests_nsprefix_) else '' + self.ResGuests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuests', pretty_print=pretty_print) + if self.ResGlobalInfo is not None: + namespaceprefix_ = self.ResGlobalInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGlobalInfo_nsprefix_) else '' + self.ResGlobalInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGlobalInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CreateDateTime', node) + if value is not None and 'CreateDateTime' not in already_processed: + already_processed.add('CreateDateTime') + try: + self.CreateDateTime = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (CreateDateTime): %s' % exp) + self.validate_def_datetime(self.CreateDateTime) # validate type def_datetime + value = find_attr_value_('LastModifyDateTime', node) + if value is not None and 'LastModifyDateTime' not in already_processed: + already_processed.add('LastModifyDateTime') + try: + self.LastModifyDateTime = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (LastModifyDateTime): %s' % exp) + self.validate_def_datetime(self.LastModifyDateTime) # validate type def_datetime + value = find_attr_value_('ResStatus', node) + if value is not None and 'ResStatus' not in already_processed: + already_processed.add('ResStatus') + self.ResStatus = value + self.validate_ResStatusType634(self.ResStatus) # validate type ResStatusType634 + value = find_attr_value_('RoomStayReservation', node) + if value is not None and 'RoomStayReservation' not in already_processed: + already_processed.add('RoomStayReservation') + if value in ('true', '1'): + self.RoomStayReservation = True + elif value in ('false', '0'): + self.RoomStayReservation = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.RoomStayReservation) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'UniqueID': + obj_ = UniqueIDType517.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.UniqueID = obj_ + obj_.original_tagname_ = 'UniqueID' + elif nodeName_ == 'RoomStays': + obj_ = RoomStaysType519.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomStays = obj_ + obj_.original_tagname_ = 'RoomStays' + elif nodeName_ == 'Services': + obj_ = ServicesType553.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Services = obj_ + obj_.original_tagname_ = 'Services' + elif nodeName_ == 'ResGuests': + obj_ = ResGuestsType571.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ResGuests = obj_ + obj_.original_tagname_ = 'ResGuests' + elif nodeName_ == 'ResGlobalInfo': + obj_ = ResGlobalInfoType589.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ResGlobalInfo = obj_ + obj_.original_tagname_ = 'ResGlobalInfo' +# end class HotelReservationType516 + + +class UniqueIDType517(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, UniqueIDType517) + if subclass is not None: + return subclass(*args_, **kwargs_) + if UniqueIDType517.subclass: + return UniqueIDType517.subclass(*args_, **kwargs_) + else: + return UniqueIDType517(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def validate_TypeType518(self, value): + # Validate type TypeType518, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['14', '15'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType518' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType517', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType517') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'UniqueIDType517': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType517') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType517', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType517'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType517', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType518(self.Type) # validate type TypeType518 + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class UniqueIDType517 + + +class RoomStaysType519(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomStay=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if RoomStay is None: + self.RoomStay = [] + else: + self.RoomStay = RoomStay + self.RoomStay_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomStaysType519) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomStaysType519.subclass: + return RoomStaysType519.subclass(*args_, **kwargs_) + else: + return RoomStaysType519(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomStay(self): + return self.RoomStay + def set_RoomStay(self, RoomStay): + self.RoomStay = RoomStay + def add_RoomStay(self, value): + self.RoomStay.append(value) + def insert_RoomStay_at(self, index, value): + self.RoomStay.insert(index, value) + def replace_RoomStay_at(self, index, value): + self.RoomStay[index] = value + def has__content(self): + if ( + self.RoomStay + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType519', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStaysType519') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomStaysType519': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStaysType519') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStaysType519', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStaysType519'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType519', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for RoomStay_ in self.RoomStay: + namespaceprefix_ = self.RoomStay_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStay_nsprefix_) else '' + RoomStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStay', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomStay': + obj_ = RoomStayType520.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomStay.append(obj_) + obj_.original_tagname_ = 'RoomStay' +# end class RoomStaysType519 + + +class RoomStayType520(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomStayGroupID = _cast(None, RoomStayGroupID) + self.RoomStayGroupID_nsprefix_ = None + self.RoomTypes = RoomTypes + self.RoomTypes_nsprefix_ = None + self.RatePlans = RatePlans + self.RatePlans_nsprefix_ = None + self.RoomRates = RoomRates + self.RoomRates_nsprefix_ = None + self.GuestCounts = GuestCounts + self.GuestCounts_nsprefix_ = None + self.TimeSpan = TimeSpan + self.TimeSpan_nsprefix_ = None + self.Guarantee = Guarantee + self.Guarantee_nsprefix_ = None + self.Total = Total + self.Total_nsprefix_ = None + self.ServiceRPHs = ServiceRPHs + self.ServiceRPHs_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomStayType520) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomStayType520.subclass: + return RoomStayType520.subclass(*args_, **kwargs_) + else: + return RoomStayType520(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomTypes(self): + return self.RoomTypes + def set_RoomTypes(self, RoomTypes): + self.RoomTypes = RoomTypes + def get_RatePlans(self): + return self.RatePlans + def set_RatePlans(self, RatePlans): + self.RatePlans = RatePlans + def get_RoomRates(self): + return self.RoomRates + def set_RoomRates(self, RoomRates): + self.RoomRates = RoomRates + def get_GuestCounts(self): + return self.GuestCounts + def set_GuestCounts(self, GuestCounts): + self.GuestCounts = GuestCounts + def get_TimeSpan(self): + return self.TimeSpan + def set_TimeSpan(self, TimeSpan): + self.TimeSpan = TimeSpan + def get_Guarantee(self): + return self.Guarantee + def set_Guarantee(self, Guarantee): + self.Guarantee = Guarantee + def get_Total(self): + return self.Total + def set_Total(self, Total): + self.Total = Total + def get_ServiceRPHs(self): + return self.ServiceRPHs + def set_ServiceRPHs(self, ServiceRPHs): + self.ServiceRPHs = ServiceRPHs + def get_RoomStayGroupID(self): + return self.RoomStayGroupID + def set_RoomStayGroupID(self, RoomStayGroupID): + self.RoomStayGroupID = RoomStayGroupID + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.RoomTypes is not None or + self.RatePlans is not None or + self.RoomRates is not None or + self.GuestCounts is not None or + self.TimeSpan is not None or + self.Guarantee is not None or + self.Total is not None or + self.ServiceRPHs is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType520', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStayType520') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomStayType520': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStayType520') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStayType520', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStayType520'): + if self.RoomStayGroupID is not None and 'RoomStayGroupID' not in already_processed: + already_processed.add('RoomStayGroupID') + outfile.write(' RoomStayGroupID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomStayGroupID), input_name='RoomStayGroupID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType520', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RoomTypes is not None: + namespaceprefix_ = self.RoomTypes_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomTypes_nsprefix_) else '' + self.RoomTypes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomTypes', pretty_print=pretty_print) + if self.RatePlans is not None: + namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' + self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) + if self.RoomRates is not None: + namespaceprefix_ = self.RoomRates_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRates_nsprefix_) else '' + self.RoomRates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRates', pretty_print=pretty_print) + if self.GuestCounts is not None: + namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' + self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) + if self.TimeSpan is not None: + namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' + self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) + if self.Guarantee is not None: + namespaceprefix_ = self.Guarantee_nsprefix_ + ':' if (UseCapturedNS_ and self.Guarantee_nsprefix_) else '' + self.Guarantee.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guarantee', pretty_print=pretty_print) + if self.Total is not None: + namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' + self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) + if self.ServiceRPHs is not None: + namespaceprefix_ = self.ServiceRPHs_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPHs_nsprefix_) else '' + self.ServiceRPHs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPHs', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RoomStayGroupID', node) + if value is not None and 'RoomStayGroupID' not in already_processed: + already_processed.add('RoomStayGroupID') + self.RoomStayGroupID = value + self.validate_StringLength1to32(self.RoomStayGroupID) # validate type StringLength1to32 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomTypes': + obj_ = RoomTypesType521.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomTypes = obj_ + obj_.original_tagname_ = 'RoomTypes' + elif nodeName_ == 'RatePlans': + obj_ = RatePlansType524.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlans = obj_ + obj_.original_tagname_ = 'RatePlans' + elif nodeName_ == 'RoomRates': + obj_ = RoomRatesType531.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomRates = obj_ + obj_.original_tagname_ = 'RoomRates' + elif nodeName_ == 'GuestCounts': + obj_ = GuestCountsType537.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCounts = obj_ + obj_.original_tagname_ = 'GuestCounts' + elif nodeName_ == 'TimeSpan': + obj_ = TimeSpanType539.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TimeSpan = obj_ + obj_.original_tagname_ = 'TimeSpan' + elif nodeName_ == 'Guarantee': + obj_ = GuaranteeType542.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Guarantee = obj_ + obj_.original_tagname_ = 'Guarantee' + elif nodeName_ == 'Total': + obj_ = TotalType549.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Total = obj_ + obj_.original_tagname_ = 'Total' + elif nodeName_ == 'ServiceRPHs': + obj_ = ServiceRPHsType550.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceRPHs = obj_ + obj_.original_tagname_ = 'ServiceRPHs' +# end class RoomStayType520 + + +class RoomTypesType521(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomType = RoomType + self.RoomType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomTypesType521) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomTypesType521.subclass: + return RoomTypesType521.subclass(*args_, **kwargs_) + else: + return RoomTypesType521(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomType(self): + return self.RoomType + def set_RoomType(self, RoomType): + self.RoomType = RoomType + def has__content(self): + if ( + self.RoomType is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType521', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypesType521') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomTypesType521': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypesType521') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypesType521', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypesType521'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType521', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RoomType is not None: + namespaceprefix_ = self.RoomType_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomType_nsprefix_) else '' + self.RoomType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomType', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomType': + obj_ = RoomTypeType522.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomType = obj_ + obj_.original_tagname_ = 'RoomType' +# end class RoomTypesType521 + + +class RoomTypeType522(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomTypeCode = _cast(None, RoomTypeCode) + self.RoomTypeCode_nsprefix_ = None + self.RoomClassificationCode = _cast(int, RoomClassificationCode) + self.RoomClassificationCode_nsprefix_ = None + self.RoomType = _cast(None, RoomType) + self.RoomType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomTypeType522) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomTypeType522.subclass: + return RoomTypeType522.subclass(*args_, **kwargs_) + else: + return RoomTypeType522(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomTypeCode(self): + return self.RoomTypeCode + def set_RoomTypeCode(self, RoomTypeCode): + self.RoomTypeCode = RoomTypeCode + def get_RoomClassificationCode(self): + return self.RoomClassificationCode + def set_RoomClassificationCode(self, RoomClassificationCode): + self.RoomClassificationCode = RoomClassificationCode + def get_RoomType(self): + return self.RoomType + def set_RoomType(self, RoomType): + self.RoomType = RoomType + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_RoomTypeType523(self, value): + # Validate type RoomTypeType523, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType523' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType522', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypeType522') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomTypeType522': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypeType522') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypeType522', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypeType522'): + if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) + if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) + if self.RoomType is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType522', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RoomTypeCode', node) + if value is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + self.RoomTypeCode = value + self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string + value = find_attr_value_('RoomClassificationCode', node) + if value is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') + if self.RoomClassificationCode < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 + value = find_attr_value_('RoomType', node) + if value is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + self.RoomType = value + self.validate_RoomTypeType523(self.RoomType) # validate type RoomTypeType523 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class RoomTypeType522 + + +class RatePlansType524(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlan = RatePlan + self.RatePlan_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlansType524) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlansType524.subclass: + return RatePlansType524.subclass(*args_, **kwargs_) + else: + return RatePlansType524(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RatePlan(self): + return self.RatePlan + def set_RatePlan(self, RatePlan): + self.RatePlan = RatePlan + def has__content(self): + if ( + self.RatePlan is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType524', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType524') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlansType524': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType524') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType524', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType524'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType524', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RatePlan is not None: + namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' + self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RatePlan': + obj_ = RatePlanType525.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlan = obj_ + obj_.original_tagname_ = 'RatePlan' +# end class RatePlansType524 + + +class RatePlanType525(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlanCode = _cast(None, RatePlanCode) + self.RatePlanCode_nsprefix_ = None + self.Commission = Commission + self.Commission_nsprefix_ = None + self.MealsIncluded = MealsIncluded + self.MealsIncluded_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlanType525) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlanType525.subclass: + return RatePlanType525.subclass(*args_, **kwargs_) + else: + return RatePlanType525(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Commission(self): + return self.Commission + def set_Commission(self, Commission): + self.Commission = Commission + def get_MealsIncluded(self): + return self.MealsIncluded + def set_MealsIncluded(self, MealsIncluded): + self.MealsIncluded = MealsIncluded + def get_RatePlanCode(self): + return self.RatePlanCode + def set_RatePlanCode(self, RatePlanCode): + self.RatePlanCode = RatePlanCode + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Commission is not None or + self.MealsIncluded is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType525', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType525') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlanType525': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType525') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType525', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType525'): + if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType525', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Commission is not None: + namespaceprefix_ = self.Commission_nsprefix_ + ':' if (UseCapturedNS_ and self.Commission_nsprefix_) else '' + self.Commission.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Commission', pretty_print=pretty_print) + if self.MealsIncluded is not None: + namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' + self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RatePlanCode', node) + if value is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + self.RatePlanCode = value + self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Commission': + obj_ = CommissionType526.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Commission = obj_ + obj_.original_tagname_ = 'Commission' + elif nodeName_ == 'MealsIncluded': + obj_ = MealsIncludedType528.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MealsIncluded = obj_ + obj_.original_tagname_ = 'MealsIncluded' +# end class RatePlanType525 + + +class CommissionType526(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Percent=None, CommissionPayableAmount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Percent = _cast(int, Percent) + self.Percent_nsprefix_ = None + self.CommissionPayableAmount = CommissionPayableAmount + self.CommissionPayableAmount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommissionType526) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommissionType526.subclass: + return CommissionType526.subclass(*args_, **kwargs_) + else: + return CommissionType526(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CommissionPayableAmount(self): + return self.CommissionPayableAmount + def set_CommissionPayableAmount(self, CommissionPayableAmount): + self.CommissionPayableAmount = CommissionPayableAmount + def get_Percent(self): + return self.Percent + def set_Percent(self, Percent): + self.Percent = Percent + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.CommissionPayableAmount is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType526', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionType526') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommissionType526': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionType526') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionType526', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionType526'): + if self.Percent is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + outfile.write(' Percent="%s"' % self.gds_format_integer(self.Percent, input_name='Percent')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType526', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CommissionPayableAmount is not None: + namespaceprefix_ = self.CommissionPayableAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.CommissionPayableAmount_nsprefix_) else '' + self.CommissionPayableAmount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CommissionPayableAmount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Percent', node) + if value is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + self.Percent = self.gds_parse_integer(value, node, 'Percent') + if self.Percent < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Percent) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CommissionPayableAmount': + obj_ = CommissionPayableAmountType527.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CommissionPayableAmount = obj_ + obj_.original_tagname_ = 'CommissionPayableAmount' +# end class CommissionType526 + + +class CommissionPayableAmountType527(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommissionPayableAmountType527) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommissionPayableAmountType527.subclass: + return CommissionPayableAmountType527.subclass(*args_, **kwargs_) + else: + return CommissionPayableAmountType527(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType527', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionPayableAmountType527') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommissionPayableAmountType527': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionPayableAmountType527') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionPayableAmountType527', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionPayableAmountType527'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType527', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CommissionPayableAmountType527 + + +class MealsIncludedType528(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MealPlanIndicator = _cast(None, MealPlanIndicator) + self.MealPlanIndicator_nsprefix_ = None + self.MealPlanCodes = _cast(None, MealPlanCodes) + self.MealPlanCodes_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MealsIncludedType528) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MealsIncludedType528.subclass: + return MealsIncludedType528.subclass(*args_, **kwargs_) + else: + return MealsIncludedType528(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MealPlanIndicator(self): + return self.MealPlanIndicator + def set_MealPlanIndicator(self, MealPlanIndicator): + self.MealPlanIndicator = MealPlanIndicator + def get_MealPlanCodes(self): + return self.MealPlanCodes + def set_MealPlanCodes(self, MealPlanCodes): + self.MealPlanCodes = MealPlanCodes + def validate_MealPlanIndicatorType529(self, value): + # Validate type MealPlanIndicatorType529, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', 'true'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType529' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MealPlanCodesType530(self, value): + # Validate type MealPlanCodesType530, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '3', '10', '12', '14'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType530' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType528', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType528') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MealsIncludedType528': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType528') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType528', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType528'): + if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) + if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType528', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MealPlanIndicator', node) + if value is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + self.MealPlanIndicator = value + self.validate_MealPlanIndicatorType529(self.MealPlanIndicator) # validate type MealPlanIndicatorType529 + value = find_attr_value_('MealPlanCodes', node) + if value is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + self.MealPlanCodes = value + self.validate_MealPlanCodesType530(self.MealPlanCodes) # validate type MealPlanCodesType530 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class MealsIncludedType528 + + +class RoomRatesType531(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomRate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomRate = RoomRate + self.RoomRate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomRatesType531) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomRatesType531.subclass: + return RoomRatesType531.subclass(*args_, **kwargs_) + else: + return RoomRatesType531(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomRate(self): + return self.RoomRate + def set_RoomRate(self, RoomRate): + self.RoomRate = RoomRate + def has__content(self): + if ( + self.RoomRate is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType531', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRatesType531') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomRatesType531': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRatesType531') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRatesType531', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRatesType531'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType531', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RoomRate is not None: + namespaceprefix_ = self.RoomRate_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRate_nsprefix_) else '' + self.RoomRate.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRate', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RoomRate': + obj_ = RoomRateType532.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RoomRate = obj_ + obj_.original_tagname_ = 'RoomRate' +# end class RoomRatesType531 + + +class RoomRateType532(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RatePlanCode = _cast(None, RatePlanCode) + self.RatePlanCode_nsprefix_ = None + self.RoomTypeCode = _cast(None, RoomTypeCode) + self.RoomTypeCode_nsprefix_ = None + self.Rates = Rates + self.Rates_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RoomRateType532) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RoomRateType532.subclass: + return RoomRateType532.subclass(*args_, **kwargs_) + else: + return RoomRateType532(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rates(self): + return self.Rates + def set_Rates(self, Rates): + self.Rates = Rates + def get_RatePlanCode(self): + return self.RatePlanCode + def set_RatePlanCode(self, RatePlanCode): + self.RatePlanCode = RatePlanCode + def get_RoomTypeCode(self): + return self.RoomTypeCode + def set_RoomTypeCode(self, RoomTypeCode): + self.RoomTypeCode = RoomTypeCode + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Rates is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType532', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRateType532') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RoomRateType532': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRateType532') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRateType532', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRateType532'): + if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) + if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType532', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Rates is not None: + namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' + self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RatePlanCode', node) + if value is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + self.RatePlanCode = value + self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 + value = find_attr_value_('RoomTypeCode', node) + if value is not None and 'RoomTypeCode' not in already_processed: + already_processed.add('RoomTypeCode') + self.RoomTypeCode = value + self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Rates': + obj_ = RatesType533.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rates = obj_ + obj_.original_tagname_ = 'Rates' +# end class RoomRateType532 + + +class RatesType533(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Rate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Rate is None: + self.Rate = [] + else: + self.Rate = Rate + self.Rate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatesType533) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatesType533.subclass: + return RatesType533.subclass(*args_, **kwargs_) + else: + return RatesType533(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rate(self): + return self.Rate + def set_Rate(self, Rate): + self.Rate = Rate + def add_Rate(self, value): + self.Rate.append(value) + def insert_Rate_at(self, index, value): + self.Rate.insert(index, value) + def replace_Rate_at(self, index, value): + self.Rate[index] = value + def has__content(self): + if ( + self.Rate + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType533', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType533') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatesType533': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType533') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType533', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType533'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType533', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Rate_ in self.Rate: + namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' + Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Rate': + obj_ = RateType534.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rate.append(obj_) + obj_.original_tagname_ = 'Rate' +# end class RatesType533 + + +class RateType534(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EffectiveDate = _cast(None, EffectiveDate) + self.EffectiveDate_nsprefix_ = None + self.ExpireDate = _cast(None, ExpireDate) + self.ExpireDate_nsprefix_ = None + self.ExpireDateExclusiveInd = _cast(bool, ExpireDateExclusiveInd) + self.ExpireDateExclusiveInd_nsprefix_ = None + self.RateTimeUnit = _cast(None, RateTimeUnit) + self.RateTimeUnit_nsprefix_ = None + self.UnitMultiplier = _cast(int, UnitMultiplier) + self.UnitMultiplier_nsprefix_ = None + if Base is None: + self.Base = [] + else: + self.Base = Base + self.Base_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RateType534) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RateType534.subclass: + return RateType534.subclass(*args_, **kwargs_) + else: + return RateType534(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Base(self): + return self.Base + def set_Base(self, Base): + self.Base = Base + def add_Base(self, value): + self.Base.append(value) + def insert_Base_at(self, index, value): + self.Base.insert(index, value) + def replace_Base_at(self, index, value): + self.Base[index] = value + def get_EffectiveDate(self): + return self.EffectiveDate + def set_EffectiveDate(self, EffectiveDate): + self.EffectiveDate = EffectiveDate + def get_ExpireDate(self): + return self.ExpireDate + def set_ExpireDate(self, ExpireDate): + self.ExpireDate = ExpireDate + def get_ExpireDateExclusiveInd(self): + return self.ExpireDateExclusiveInd + def set_ExpireDateExclusiveInd(self, ExpireDateExclusiveInd): + self.ExpireDateExclusiveInd = ExpireDateExclusiveInd + def get_RateTimeUnit(self): + return self.RateTimeUnit + def set_RateTimeUnit(self, RateTimeUnit): + self.RateTimeUnit = RateTimeUnit + def get_UnitMultiplier(self): + return self.UnitMultiplier + def set_UnitMultiplier(self, UnitMultiplier): + self.UnitMultiplier = UnitMultiplier + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_RateTimeUnitType536(self, value): + # Validate type RateTimeUnitType536, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType536' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.Base + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType534', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType534') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RateType534': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType534') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType534', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType534'): + if self.EffectiveDate is not None and 'EffectiveDate' not in already_processed: + already_processed.add('EffectiveDate') + outfile.write(' EffectiveDate="%s"' % self.gds_format_date(self.EffectiveDate, input_name='EffectiveDate')) + if self.ExpireDate is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + outfile.write(' ExpireDate="%s"' % self.gds_format_date(self.ExpireDate, input_name='ExpireDate')) + if self.ExpireDateExclusiveInd is not None and 'ExpireDateExclusiveInd' not in already_processed: + already_processed.add('ExpireDateExclusiveInd') + outfile.write(' ExpireDateExclusiveInd="%s"' % self.gds_format_boolean(self.ExpireDateExclusiveInd, input_name='ExpireDateExclusiveInd')) + if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) + if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType534', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Base_ in self.Base: + namespaceprefix_ = self.Base_nsprefix_ + ':' if (UseCapturedNS_ and self.Base_nsprefix_) else '' + Base_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Base', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EffectiveDate', node) + if value is not None and 'EffectiveDate' not in already_processed: + already_processed.add('EffectiveDate') + try: + self.EffectiveDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (EffectiveDate): %s' % exp) + self.validate_def_date(self.EffectiveDate) # validate type def_date + value = find_attr_value_('ExpireDate', node) + if value is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + try: + self.ExpireDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (ExpireDate): %s' % exp) + self.validate_def_date(self.ExpireDate) # validate type def_date + value = find_attr_value_('ExpireDateExclusiveInd', node) + if value is not None and 'ExpireDateExclusiveInd' not in already_processed: + already_processed.add('ExpireDateExclusiveInd') + if value in ('true', '1'): + self.ExpireDateExclusiveInd = True + elif value in ('false', '0'): + self.ExpireDateExclusiveInd = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.ExpireDateExclusiveInd) # validate type def_bool + value = find_attr_value_('RateTimeUnit', node) + if value is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + self.RateTimeUnit = value + self.validate_RateTimeUnitType536(self.RateTimeUnit) # validate type RateTimeUnitType536 + value = find_attr_value_('UnitMultiplier', node) + if value is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') + if self.UnitMultiplier <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Base': + obj_ = BaseType535.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Base.append(obj_) + obj_.original_tagname_ = 'Base' +# end class RateType534 + + +class BaseType535(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BaseType535) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BaseType535.subclass: + return BaseType535.subclass(*args_, **kwargs_) + else: + return BaseType535(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType535', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseType535') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BaseType535': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseType535') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseType535', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseType535'): + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType535', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BaseType535 + + +class GuestCountsType537(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuestCount is None: + self.GuestCount = [] + else: + self.GuestCount = GuestCount + self.GuestCount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountsType537) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountsType537.subclass: + return GuestCountsType537.subclass(*args_, **kwargs_) + else: + return GuestCountsType537(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestCount(self): + return self.GuestCount + def set_GuestCount(self, GuestCount): + self.GuestCount = GuestCount + def add_GuestCount(self, value): + self.GuestCount.append(value) + def insert_GuestCount_at(self, index, value): + self.GuestCount.insert(index, value) + def replace_GuestCount_at(self, index, value): + self.GuestCount[index] = value + def has__content(self): + if ( + self.GuestCount + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType537', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType537') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountsType537': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType537') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType537', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType537'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType537', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuestCount_ in self.GuestCount: + namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' + GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestCount': + obj_ = GuestCountType538.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCount.append(obj_) + obj_.original_tagname_ = 'GuestCount' +# end class GuestCountsType537 + + +class GuestCountType538(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Count=None, Age=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Count = _cast(int, Count) + self.Count_nsprefix_ = None + self.Age = _cast(int, Age) + self.Age_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountType538) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountType538.subclass: + return GuestCountType538.subclass(*args_, **kwargs_) + else: + return GuestCountType538(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Count(self): + return self.Count + def set_Count(self, Count): + self.Count = Count + def get_Age(self): + return self.Age + def set_Age(self, Age): + self.Age = Age + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType538', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType538') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountType538': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType538') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType538', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType538'): + if self.Count is not None and 'Count' not in already_processed: + already_processed.add('Count') + outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) + if self.Age is not None and 'Age' not in already_processed: + already_processed.add('Age') + outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType538', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Count', node) + if value is not None and 'Count' not in already_processed: + already_processed.add('Count') + self.Count = self.gds_parse_integer(value, node, 'Count') + if self.Count <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 + value = find_attr_value_('Age', node) + if value is not None and 'Age' not in already_processed: + already_processed.add('Age') + self.Age = self.gds_parse_integer(value, node, 'Age') + if self.Age < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Age) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class GuestCountType538 + + +class TimeSpanType539(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.Duration = _cast(None, Duration) + self.Duration_nsprefix_ = None + self.StartDateWindow = StartDateWindow + self.StartDateWindow_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TimeSpanType539) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TimeSpanType539.subclass: + return TimeSpanType539.subclass(*args_, **kwargs_) + else: + return TimeSpanType539(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StartDateWindow(self): + return self.StartDateWindow + def set_StartDateWindow(self, StartDateWindow): + self.StartDateWindow = StartDateWindow + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def get_Duration(self): + return self.Duration + def set_Duration(self, Duration): + self.Duration = Duration + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_DurationType541(self, value): + # Validate type DurationType541, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_DurationType541_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType541_patterns_, )) + validate_DurationType541_patterns_ = [['^(P[0-9]+N)$']] + def has__content(self): + if ( + self.StartDateWindow is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType539', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType539') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TimeSpanType539': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType539') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType539', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType539'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + if self.Duration is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType539', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.StartDateWindow is not None: + namespaceprefix_ = self.StartDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.StartDateWindow_nsprefix_) else '' + self.StartDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StartDateWindow', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + value = find_attr_value_('Duration', node) + if value is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + self.Duration = value + self.validate_DurationType541(self.Duration) # validate type DurationType541 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'StartDateWindow': + obj_ = StartDateWindowType540.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StartDateWindow = obj_ + obj_.original_tagname_ = 'StartDateWindow' +# end class TimeSpanType539 + + +class StartDateWindowType540(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EarliestDate=None, LatestDate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EarliestDate = _cast(None, EarliestDate) + self.EarliestDate_nsprefix_ = None + self.LatestDate = _cast(None, LatestDate) + self.LatestDate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StartDateWindowType540) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StartDateWindowType540.subclass: + return StartDateWindowType540.subclass(*args_, **kwargs_) + else: + return StartDateWindowType540(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EarliestDate(self): + return self.EarliestDate + def set_EarliestDate(self, EarliestDate): + self.EarliestDate = EarliestDate + def get_LatestDate(self): + return self.LatestDate + def set_LatestDate(self, LatestDate): + self.LatestDate = LatestDate + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType540', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StartDateWindowType540') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StartDateWindowType540': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StartDateWindowType540') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StartDateWindowType540', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StartDateWindowType540'): + if self.EarliestDate is not None and 'EarliestDate' not in already_processed: + already_processed.add('EarliestDate') + outfile.write(' EarliestDate="%s"' % self.gds_format_date(self.EarliestDate, input_name='EarliestDate')) + if self.LatestDate is not None and 'LatestDate' not in already_processed: + already_processed.add('LatestDate') + outfile.write(' LatestDate="%s"' % self.gds_format_date(self.LatestDate, input_name='LatestDate')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType540', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EarliestDate', node) + if value is not None and 'EarliestDate' not in already_processed: + already_processed.add('EarliestDate') + try: + self.EarliestDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (EarliestDate): %s' % exp) + self.validate_def_date(self.EarliestDate) # validate type def_date + value = find_attr_value_('LatestDate', node) + if value is not None and 'LatestDate' not in already_processed: + already_processed.add('LatestDate') + try: + self.LatestDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (LatestDate): %s' % exp) + self.validate_def_date(self.LatestDate) # validate type def_date + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class StartDateWindowType540 + + +class GuaranteeType542(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteesAccepted=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteesAccepted = GuaranteesAccepted + self.GuaranteesAccepted_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteeType542) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteeType542.subclass: + return GuaranteeType542.subclass(*args_, **kwargs_) + else: + return GuaranteeType542(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteesAccepted(self): + return self.GuaranteesAccepted + def set_GuaranteesAccepted(self, GuaranteesAccepted): + self.GuaranteesAccepted = GuaranteesAccepted + def has__content(self): + if ( + self.GuaranteesAccepted is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType542', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeType542') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteeType542': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeType542') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeType542', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeType542'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType542', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuaranteesAccepted is not None: + namespaceprefix_ = self.GuaranteesAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteesAccepted_nsprefix_) else '' + self.GuaranteesAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteesAccepted', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteesAccepted': + obj_ = GuaranteesAcceptedType543.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteesAccepted = obj_ + obj_.original_tagname_ = 'GuaranteesAccepted' +# end class GuaranteeType542 + + +class GuaranteesAcceptedType543(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteeAccepted=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteeAccepted = GuaranteeAccepted + self.GuaranteeAccepted_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteesAcceptedType543) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteesAcceptedType543.subclass: + return GuaranteesAcceptedType543.subclass(*args_, **kwargs_) + else: + return GuaranteesAcceptedType543(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteeAccepted(self): + return self.GuaranteeAccepted + def set_GuaranteeAccepted(self, GuaranteeAccepted): + self.GuaranteeAccepted = GuaranteeAccepted + def has__content(self): + if ( + self.GuaranteeAccepted is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType543', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteesAcceptedType543') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteesAcceptedType543': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteesAcceptedType543') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteesAcceptedType543', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteesAcceptedType543'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType543', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuaranteeAccepted is not None: + namespaceprefix_ = self.GuaranteeAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteeAccepted_nsprefix_) else '' + self.GuaranteeAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteeAccepted', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteeAccepted': + obj_ = GuaranteeAcceptedType544.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteeAccepted = obj_ + obj_.original_tagname_ = 'GuaranteeAccepted' +# end class GuaranteesAcceptedType543 + + +class GuaranteeAcceptedType544(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PaymentCard=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PaymentCard = PaymentCard + self.PaymentCard_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteeAcceptedType544) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteeAcceptedType544.subclass: + return GuaranteeAcceptedType544.subclass(*args_, **kwargs_) + else: + return GuaranteeAcceptedType544(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PaymentCard(self): + return self.PaymentCard + def set_PaymentCard(self, PaymentCard): + self.PaymentCard = PaymentCard + def has__content(self): + if ( + self.PaymentCard is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType544', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeAcceptedType544') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteeAcceptedType544': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeAcceptedType544') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeAcceptedType544', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeAcceptedType544'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType544', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PaymentCard is not None: + namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' + self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PaymentCard': + obj_ = PaymentCardType545.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PaymentCard = obj_ + obj_.original_tagname_ = 'PaymentCard' +# end class GuaranteeAcceptedType544 + + +class PaymentCardType545(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CardCode = _cast(None, CardCode) + self.CardCode_nsprefix_ = None + self.ExpireDate = _cast(None, ExpireDate) + self.ExpireDate_nsprefix_ = None + self.CardHolderName = CardHolderName + self.validate_StringLength1to64(self.CardHolderName) + self.CardHolderName_nsprefix_ = None + self.CardNumber = CardNumber + self.CardNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PaymentCardType545) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PaymentCardType545.subclass: + return PaymentCardType545.subclass(*args_, **kwargs_) + else: + return PaymentCardType545(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CardHolderName(self): + return self.CardHolderName + def set_CardHolderName(self, CardHolderName): + self.CardHolderName = CardHolderName + def get_CardNumber(self): + return self.CardNumber + def set_CardNumber(self, CardNumber): + self.CardNumber = CardNumber + def get_CardCode(self): + return self.CardCode + def set_CardCode(self, CardCode): + self.CardCode = CardCode + def get_ExpireDate(self): + return self.ExpireDate + def set_ExpireDate(self, ExpireDate): + self.ExpireDate = ExpireDate + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_CardCodeType547(self, value): + # Validate type CardCodeType547, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CardCodeType547_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType547_patterns_, )) + validate_CardCodeType547_patterns_ = [['^([A-Z][A-Z]?)$']] + def validate_ExpireDateType548(self, value): + # Validate type ExpireDateType548, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ExpireDateType548_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType548_patterns_, )) + validate_ExpireDateType548_patterns_ = [['^([0-9][0-9][0-9][0-9])$']] + def has__content(self): + if ( + self.CardHolderName is not None or + self.CardNumber is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType545', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType545') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PaymentCardType545': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType545') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType545', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType545'): + if self.CardCode is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) + if self.ExpireDate is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType545', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CardHolderName is not None: + namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) + if self.CardNumber is not None: + namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' + self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CardCode', node) + if value is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + self.CardCode = value + self.validate_CardCodeType547(self.CardCode) # validate type CardCodeType547 + value = find_attr_value_('ExpireDate', node) + if value is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + self.ExpireDate = value + self.validate_ExpireDateType548(self.ExpireDate) # validate type ExpireDateType548 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CardHolderName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CardHolderName') + value_ = self.gds_validate_string(value_, node, 'CardHolderName') + self.CardHolderName = value_ + self.CardHolderName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CardHolderName) + elif nodeName_ == 'CardNumber': + obj_ = CardNumberType546.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CardNumber = obj_ + obj_.original_tagname_ = 'CardNumber' +# end class PaymentCardType545 + + +class CardNumberType546(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EncryptedValue = _cast(None, EncryptedValue) + self.EncryptedValue_nsprefix_ = None + self.EncryptionMethod = _cast(None, EncryptionMethod) + self.EncryptionMethod_nsprefix_ = None + self.PlainText = PlainText + self.validate_def_nonempty_string(self.PlainText) + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CardNumberType546) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CardNumberType546.subclass: + return CardNumberType546.subclass(*args_, **kwargs_) + else: + return CardNumberType546(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def get_EncryptedValue(self): + return self.EncryptedValue + def set_EncryptedValue(self, EncryptedValue): + self.EncryptedValue = EncryptedValue + def get_EncryptionMethod(self): + return self.EncryptionMethod + def set_EncryptionMethod(self, EncryptionMethod): + self.EncryptionMethod = EncryptionMethod + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType546', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType546') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CardNumberType546': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType546') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType546', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType546'): + if self.EncryptedValue is not None and 'EncryptedValue' not in already_processed: + already_processed.add('EncryptedValue') + outfile.write(' EncryptedValue=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptedValue), input_name='EncryptedValue')), )) + if self.EncryptionMethod is not None and 'EncryptionMethod' not in already_processed: + already_processed.add('EncryptionMethod') + outfile.write(' EncryptionMethod=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptionMethod), input_name='EncryptionMethod')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType546', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EncryptedValue', node) + if value is not None and 'EncryptedValue' not in already_processed: + already_processed.add('EncryptedValue') + self.EncryptedValue = value + self.validate_def_nonempty_string(self.EncryptedValue) # validate type def_nonempty_string + value = find_attr_value_('EncryptionMethod', node) + if value is not None and 'EncryptionMethod' not in already_processed: + already_processed.add('EncryptionMethod') + self.EncryptionMethod = value + self.validate_def_nonempty_string(self.EncryptionMethod) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PlainText') + value_ = self.gds_validate_string(value_, node, 'PlainText') + self.PlainText = value_ + self.PlainText_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.PlainText) +# end class CardNumberType546 + + +class TotalType549(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TotalType549) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TotalType549.subclass: + return TotalType549.subclass(*args_, **kwargs_) + else: + return TotalType549(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType549', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType549') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TotalType549': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType549') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType549', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType549'): + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType549', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TotalType549 + + +class ServiceRPHsType550(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ServiceRPH=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if ServiceRPH is None: + self.ServiceRPH = [] + else: + self.ServiceRPH = ServiceRPH + self.ServiceRPH_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceRPHsType550) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceRPHsType550.subclass: + return ServiceRPHsType550.subclass(*args_, **kwargs_) + else: + return ServiceRPHsType550(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ServiceRPH(self): + return self.ServiceRPH + def set_ServiceRPH(self, ServiceRPH): + self.ServiceRPH = ServiceRPH + def add_ServiceRPH(self, value): + self.ServiceRPH.append(value) + def insert_ServiceRPH_at(self, index, value): + self.ServiceRPH.insert(index, value) + def replace_ServiceRPH_at(self, index, value): + self.ServiceRPH[index] = value + def has__content(self): + if ( + self.ServiceRPH + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType550', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHsType550') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceRPHsType550': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHsType550') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHsType550', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHsType550'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType550', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ServiceRPH_ in self.ServiceRPH: + namespaceprefix_ = self.ServiceRPH_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPH_nsprefix_) else '' + ServiceRPH_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPH', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ServiceRPH': + obj_ = ServiceRPHType551.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceRPH.append(obj_) + obj_.original_tagname_ = 'ServiceRPH' +# end class ServiceRPHsType550 + + +class ServiceRPHType551(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RPH=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RPH = _cast(None, RPH) + self.RPH_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceRPHType551) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceRPHType551.subclass: + return ServiceRPHType551.subclass(*args_, **kwargs_) + else: + return ServiceRPHType551(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RPH(self): + return self.RPH + def set_RPH(self, RPH): + self.RPH = RPH + def validate_RPHType552(self, value): + # Validate type RPHType552, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_RPHType552_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RPHType552_patterns_, )) + validate_RPHType552_patterns_ = [['^([0-9]{1,8})$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType551', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHType551') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceRPHType551': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHType551') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHType551', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHType551'): + if self.RPH is not None and 'RPH' not in already_processed: + already_processed.add('RPH') + outfile.write(' RPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RPH), input_name='RPH')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType551', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RPH', node) + if value is not None and 'RPH' not in already_processed: + already_processed.add('RPH') + self.RPH = value + self.validate_RPHType552(self.RPH) # validate type RPHType552 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ServiceRPHType551 + + +class ServicesType553(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Service=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Service is None: + self.Service = [] + else: + self.Service = Service + self.Service_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServicesType553) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServicesType553.subclass: + return ServicesType553.subclass(*args_, **kwargs_) + else: + return ServicesType553(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Service(self): + return self.Service + def set_Service(self, Service): + self.Service = Service + def add_Service(self, value): + self.Service.append(value) + def insert_Service_at(self, index, value): + self.Service.insert(index, value) + def replace_Service_at(self, index, value): + self.Service[index] = value + def has__content(self): + if ( + self.Service + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType553', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType553') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServicesType553': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType553') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType553', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType553'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType553', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Service_ in self.Service: + namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' + Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Service': + obj_ = ServiceType554.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Service.append(obj_) + obj_.original_tagname_ = 'Service' +# end class ServicesType553 + + +class ServiceType554(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.ServiceCategoryCode = _cast(None, ServiceCategoryCode) + self.ServiceCategoryCode_nsprefix_ = None + self.ServiceInventoryCode = _cast(None, ServiceInventoryCode) + self.ServiceInventoryCode_nsprefix_ = None + self.ServiceRPH = _cast(None, ServiceRPH) + self.ServiceRPH_nsprefix_ = None + self.ServicePricingType = _cast(None, ServicePricingType) + self.ServicePricingType_nsprefix_ = None + self.Inclusive = _cast(bool, Inclusive) + self.Inclusive_nsprefix_ = None + self.Quantity = _cast(int, Quantity) + self.Quantity_nsprefix_ = None + self.ServiceDetails = ServiceDetails + self.ServiceDetails_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceType554) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceType554.subclass: + return ServiceType554.subclass(*args_, **kwargs_) + else: + return ServiceType554(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ServiceDetails(self): + return self.ServiceDetails + def set_ServiceDetails(self, ServiceDetails): + self.ServiceDetails = ServiceDetails + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_ServiceCategoryCode(self): + return self.ServiceCategoryCode + def set_ServiceCategoryCode(self, ServiceCategoryCode): + self.ServiceCategoryCode = ServiceCategoryCode + def get_ServiceInventoryCode(self): + return self.ServiceInventoryCode + def set_ServiceInventoryCode(self, ServiceInventoryCode): + self.ServiceInventoryCode = ServiceInventoryCode + def get_ServiceRPH(self): + return self.ServiceRPH + def set_ServiceRPH(self, ServiceRPH): + self.ServiceRPH = ServiceRPH + def get_ServicePricingType(self): + return self.ServicePricingType + def set_ServicePricingType(self, ServicePricingType): + self.ServicePricingType = ServicePricingType + def get_Inclusive(self): + return self.Inclusive + def set_Inclusive(self, Inclusive): + self.Inclusive = Inclusive + def get_Quantity(self): + return self.Quantity + def set_Quantity(self, Quantity): + self.Quantity = Quantity + def validate_def_one_to_thirty_two_chars_string(self, value): + # Validate type def_one_to_thirty_two_chars_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_TypeType567(self, value): + # Validate type TypeType567, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['16'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType567' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ServiceCategoryCodeType568(self, value): + # Validate type ServiceCategoryCodeType568, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['BOARD', 'SUPPLEMENT', 'SPA', 'FOOD', 'BEVERAGE', 'ACTIVITY', 'TOURISTTAX', 'TRANSFER', 'OTHER'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServiceCategoryCodeType568' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_one_to_sixteen_chars_string(self, value): + # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ServiceRPHType569(self, value): + # Validate type ServiceRPHType569, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ServiceRPHType569_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ServiceRPHType569_patterns_, )) + validate_ServiceRPHType569_patterns_ = [['^([0-9]{1,8})$']] + def validate_ServicePricingTypeType570(self, value): + # Validate type ServicePricingTypeType570, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Per night', 'Per person', 'Per person per night', 'Per stay', 'Per use'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServicePricingTypeType570' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.ServiceDetails is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType554', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType554') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceType554': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType554') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType554', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType554'): + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.ServiceCategoryCode is not None and 'ServiceCategoryCode' not in already_processed: + already_processed.add('ServiceCategoryCode') + outfile.write(' ServiceCategoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceCategoryCode), input_name='ServiceCategoryCode')), )) + if self.ServiceInventoryCode is not None and 'ServiceInventoryCode' not in already_processed: + already_processed.add('ServiceInventoryCode') + outfile.write(' ServiceInventoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceInventoryCode), input_name='ServiceInventoryCode')), )) + if self.ServiceRPH is not None and 'ServiceRPH' not in already_processed: + already_processed.add('ServiceRPH') + outfile.write(' ServiceRPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceRPH), input_name='ServiceRPH')), )) + if self.ServicePricingType is not None and 'ServicePricingType' not in already_processed: + already_processed.add('ServicePricingType') + outfile.write(' ServicePricingType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServicePricingType), input_name='ServicePricingType')), )) + if self.Inclusive is not None and 'Inclusive' not in already_processed: + already_processed.add('Inclusive') + outfile.write(' Inclusive="%s"' % self.gds_format_boolean(self.Inclusive, input_name='Inclusive')) + if self.Quantity is not None and 'Quantity' not in already_processed: + already_processed.add('Quantity') + outfile.write(' Quantity="%s"' % self.gds_format_integer(self.Quantity, input_name='Quantity')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType554', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ServiceDetails is not None: + namespaceprefix_ = self.ServiceDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDetails_nsprefix_) else '' + self.ServiceDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDetails', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_def_one_to_thirty_two_chars_string(self.ID) # validate type def_one_to_thirty_two_chars_string + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType567(self.Type) # validate type TypeType567 + value = find_attr_value_('ServiceCategoryCode', node) + if value is not None and 'ServiceCategoryCode' not in already_processed: + already_processed.add('ServiceCategoryCode') + self.ServiceCategoryCode = value + self.validate_ServiceCategoryCodeType568(self.ServiceCategoryCode) # validate type ServiceCategoryCodeType568 + value = find_attr_value_('ServiceInventoryCode', node) + if value is not None and 'ServiceInventoryCode' not in already_processed: + already_processed.add('ServiceInventoryCode') + self.ServiceInventoryCode = value + self.validate_def_one_to_sixteen_chars_string(self.ServiceInventoryCode) # validate type def_one_to_sixteen_chars_string + value = find_attr_value_('ServiceRPH', node) + if value is not None and 'ServiceRPH' not in already_processed: + already_processed.add('ServiceRPH') + self.ServiceRPH = value + self.validate_ServiceRPHType569(self.ServiceRPH) # validate type ServiceRPHType569 + value = find_attr_value_('ServicePricingType', node) + if value is not None and 'ServicePricingType' not in already_processed: + already_processed.add('ServicePricingType') + self.ServicePricingType = value + self.validate_ServicePricingTypeType570(self.ServicePricingType) # validate type ServicePricingTypeType570 + value = find_attr_value_('Inclusive', node) + if value is not None and 'Inclusive' not in already_processed: + already_processed.add('Inclusive') + if value in ('true', '1'): + self.Inclusive = True + elif value in ('false', '0'): + self.Inclusive = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Quantity', node) + if value is not None and 'Quantity' not in already_processed: + already_processed.add('Quantity') + self.Quantity = self.gds_parse_integer(value, node, 'Quantity') + if self.Quantity <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Quantity) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ServiceDetails': + obj_ = ServiceDetailsType555.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceDetails = obj_ + obj_.original_tagname_ = 'ServiceDetails' +# end class ServiceType554 + + +class ServiceDetailsType555(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuestCounts = GuestCounts + self.GuestCounts_nsprefix_ = None + self.TimeSpan = TimeSpan + self.TimeSpan_nsprefix_ = None + self.Comments = Comments + self.Comments_nsprefix_ = None + self.Total = Total + self.Total_nsprefix_ = None + self.ServiceDescription = ServiceDescription + self.ServiceDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceDetailsType555) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceDetailsType555.subclass: + return ServiceDetailsType555.subclass(*args_, **kwargs_) + else: + return ServiceDetailsType555(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestCounts(self): + return self.GuestCounts + def set_GuestCounts(self, GuestCounts): + self.GuestCounts = GuestCounts + def get_TimeSpan(self): + return self.TimeSpan + def set_TimeSpan(self, TimeSpan): + self.TimeSpan = TimeSpan + def get_Comments(self): + return self.Comments + def set_Comments(self, Comments): + self.Comments = Comments + def get_Total(self): + return self.Total + def set_Total(self, Total): + self.Total = Total + def get_ServiceDescription(self): + return self.ServiceDescription + def set_ServiceDescription(self, ServiceDescription): + self.ServiceDescription = ServiceDescription + def has__content(self): + if ( + self.GuestCounts is not None or + self.TimeSpan is not None or + self.Comments is not None or + self.Total is not None or + self.ServiceDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType555', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDetailsType555') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceDetailsType555': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDetailsType555') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDetailsType555', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDetailsType555'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType555', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuestCounts is not None: + namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' + self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) + if self.TimeSpan is not None: + namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' + self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) + if self.Comments is not None: + namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' + self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) + if self.Total is not None: + namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' + self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) + if self.ServiceDescription is not None: + namespaceprefix_ = self.ServiceDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDescription_nsprefix_) else '' + self.ServiceDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestCounts': + obj_ = GuestCountsType556.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCounts = obj_ + obj_.original_tagname_ = 'GuestCounts' + elif nodeName_ == 'TimeSpan': + obj_ = TimeSpanType558.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TimeSpan = obj_ + obj_.original_tagname_ = 'TimeSpan' + elif nodeName_ == 'Comments': + obj_ = CommentsType559.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comments = obj_ + obj_.original_tagname_ = 'Comments' + elif nodeName_ == 'Total': + obj_ = TotalType563.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Total = obj_ + obj_.original_tagname_ = 'Total' + elif nodeName_ == 'ServiceDescription': + obj_ = ServiceDescriptionType564.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ServiceDescription = obj_ + obj_.original_tagname_ = 'ServiceDescription' +# end class ServiceDetailsType555 + + +class GuestCountsType556(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuestCount is None: + self.GuestCount = [] + else: + self.GuestCount = GuestCount + self.GuestCount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountsType556) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountsType556.subclass: + return GuestCountsType556.subclass(*args_, **kwargs_) + else: + return GuestCountsType556(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestCount(self): + return self.GuestCount + def set_GuestCount(self, GuestCount): + self.GuestCount = GuestCount + def add_GuestCount(self, value): + self.GuestCount.append(value) + def insert_GuestCount_at(self, index, value): + self.GuestCount.insert(index, value) + def replace_GuestCount_at(self, index, value): + self.GuestCount[index] = value + def has__content(self): + if ( + self.GuestCount + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType556', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType556') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountsType556': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType556') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType556', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType556'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType556', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuestCount_ in self.GuestCount: + namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' + GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestCount': + obj_ = GuestCountType557.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestCount.append(obj_) + obj_.original_tagname_ = 'GuestCount' +# end class GuestCountsType556 + + +class GuestCountType557(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Age=None, Count=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Age = _cast(int, Age) + self.Age_nsprefix_ = None + self.Count = _cast(int, Count) + self.Count_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestCountType557) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestCountType557.subclass: + return GuestCountType557.subclass(*args_, **kwargs_) + else: + return GuestCountType557(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Age(self): + return self.Age + def set_Age(self, Age): + self.Age = Age + def get_Count(self): + return self.Count + def set_Count(self, Count): + self.Count = Count + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType557', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType557') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestCountType557': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType557') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType557', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType557'): + if self.Age is not None and 'Age' not in already_processed: + already_processed.add('Age') + outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) + if self.Count is not None and 'Count' not in already_processed: + already_processed.add('Count') + outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType557', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Age', node) + if value is not None and 'Age' not in already_processed: + already_processed.add('Age') + self.Age = self.gds_parse_integer(value, node, 'Age') + if self.Age <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Age) # validate type def_int_gt0 + value = find_attr_value_('Count', node) + if value is not None and 'Count' not in already_processed: + already_processed.add('Count') + self.Count = self.gds_parse_integer(value, node, 'Count') + if self.Count <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class GuestCountType557 + + +class TimeSpanType558(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TimeSpanType558) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TimeSpanType558.subclass: + return TimeSpanType558.subclass(*args_, **kwargs_) + else: + return TimeSpanType558(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_def_datetime(self, value): + # Validate type def_datetime, a restriction on xs:dateTime. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.datetime): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_datetime_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) + validate_def_datetime_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType558', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType558') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TimeSpanType558': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType558') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType558', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType558'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_datetime(self.End, input_name='End')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType558', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (Start): %s' % exp) + self.validate_def_datetime(self.Start) # validate type def_datetime + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_datetime(value) + except ValueError as exp: + raise ValueError('Bad date-time attribute (End): %s' % exp) + self.validate_def_datetime(self.End) # validate type def_datetime + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TimeSpanType558 + + +class CommentsType559(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Comment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Comment = Comment + self.Comment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentsType559) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentsType559.subclass: + return CommentsType559.subclass(*args_, **kwargs_) + else: + return CommentsType559(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Comment(self): + return self.Comment + def set_Comment(self, Comment): + self.Comment = Comment + def has__content(self): + if ( + self.Comment is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType559', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType559') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentsType559': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType559') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType559', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType559'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType559', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Comment is not None: + namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' + self.Comment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Comment': + obj_ = CommentType560.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comment = obj_ + obj_.original_tagname_ = 'Comment' +# end class CommentsType559 + + +class CommentType560(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentType560) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentType560.subclass: + return CommentType560.subclass(*args_, **kwargs_) + else: + return CommentType560(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType560', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType560') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentType560': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType560') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType560', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType560'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType560', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType561.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text = obj_ + obj_.original_tagname_ = 'Text' +# end class CommentType560 + + +class TextType561(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType561) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType561.subclass: + return TextType561.subclass(*args_, **kwargs_) + else: + return TextType561(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType562(self, value): + # Validate type TextFormatType562, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType562' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType561', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType561') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType561': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType561') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType561'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType561', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType562(self.TextFormat) # validate type TextFormatType562 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType561 + + +class TotalType563(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TotalType563) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TotalType563.subclass: + return TotalType563.subclass(*args_, **kwargs_) + else: + return TotalType563(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType563', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType563') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TotalType563': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType563') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType563', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType563'): + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType563', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TotalType563 + + +class ServiceDescriptionType564(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceDescriptionType564) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceDescriptionType564.subclass: + return ServiceDescriptionType564.subclass(*args_, **kwargs_) + else: + return ServiceDescriptionType564(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType564', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDescriptionType564') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceDescriptionType564': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDescriptionType564') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDescriptionType564', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDescriptionType564'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType564', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType565.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text = obj_ + obj_.original_tagname_ = 'Text' +# end class ServiceDescriptionType564 + + +class TextType565(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType565) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType565.subclass: + return TextType565.subclass(*args_, **kwargs_) + else: + return TextType565(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType566(self, value): + # Validate type TextFormatType566, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType566' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType565', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType565') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType565': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType565') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType565'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType565', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType566(self.TextFormat) # validate type TextFormatType566 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType565 + + +class ResGuestsType571(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ResGuest=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ResGuest = ResGuest + self.ResGuest_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ResGuestsType571) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ResGuestsType571.subclass: + return ResGuestsType571.subclass(*args_, **kwargs_) + else: + return ResGuestsType571(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ResGuest(self): + return self.ResGuest + def set_ResGuest(self, ResGuest): + self.ResGuest = ResGuest + def has__content(self): + if ( + self.ResGuest is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType571', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestsType571') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ResGuestsType571': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestsType571') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestsType571', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestsType571'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType571', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ResGuest is not None: + namespaceprefix_ = self.ResGuest_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuest_nsprefix_) else '' + self.ResGuest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuest', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ResGuest': + obj_ = ResGuestType572.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ResGuest = obj_ + obj_.original_tagname_ = 'ResGuest' +# end class ResGuestsType571 + + +class ResGuestType572(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Profiles=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Profiles = Profiles + self.Profiles_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ResGuestType572) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ResGuestType572.subclass: + return ResGuestType572.subclass(*args_, **kwargs_) + else: + return ResGuestType572(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Profiles(self): + return self.Profiles + def set_Profiles(self, Profiles): + self.Profiles = Profiles + def has__content(self): + if ( + self.Profiles is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType572', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestType572') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ResGuestType572': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestType572') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestType572', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestType572'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType572', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Profiles is not None: + namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' + self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Profiles': + obj_ = ProfilesType573.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profiles = obj_ + obj_.original_tagname_ = 'Profiles' +# end class ResGuestType572 + + +class ProfilesType573(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ProfileInfo = ProfileInfo + self.ProfileInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfilesType573) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfilesType573.subclass: + return ProfilesType573.subclass(*args_, **kwargs_) + else: + return ProfilesType573(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ProfileInfo(self): + return self.ProfileInfo + def set_ProfileInfo(self, ProfileInfo): + self.ProfileInfo = ProfileInfo + def has__content(self): + if ( + self.ProfileInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType573', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType573') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfilesType573': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType573') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType573', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType573'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType573', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ProfileInfo is not None: + namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' + self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ProfileInfo': + obj_ = ProfileInfoType574.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ProfileInfo = obj_ + obj_.original_tagname_ = 'ProfileInfo' +# end class ProfilesType573 + + +class ProfileInfoType574(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Profile=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Profile = Profile + self.Profile_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileInfoType574) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileInfoType574.subclass: + return ProfileInfoType574.subclass(*args_, **kwargs_) + else: + return ProfileInfoType574(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Profile(self): + return self.Profile + def set_Profile(self, Profile): + self.Profile = Profile + def has__content(self): + if ( + self.Profile is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType574', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType574') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileInfoType574': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType574') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType574', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType574'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType574', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Profile is not None: + namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' + self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Profile': + obj_ = ProfileType575.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profile = obj_ + obj_.original_tagname_ = 'Profile' +# end class ProfileInfoType574 + + +class ProfileType575(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Customer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Customer = Customer + self.Customer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileType575) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileType575.subclass: + return ProfileType575.subclass(*args_, **kwargs_) + else: + return ProfileType575(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Customer(self): + return self.Customer + def set_Customer(self, Customer): + self.Customer = Customer + def has__content(self): + if ( + self.Customer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType575', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType575') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileType575': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType575') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType575', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType575'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType575', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Customer is not None: + namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' + self.Customer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Customer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Customer': + obj_ = CustomerType576.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Customer = obj_ + obj_.original_tagname_ = 'Customer' +# end class ProfileType575 + + +class CustomerType576(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Gender = _cast(None, Gender) + self.Gender_nsprefix_ = None + self.BirthDate = _cast(None, BirthDate) + self.BirthDate_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.PersonName = PersonName + self.PersonName_nsprefix_ = None + if Telephone is None: + self.Telephone = [] + else: + self.Telephone = Telephone + self.Telephone_nsprefix_ = None + self.Email = Email + self.Email_nsprefix_ = None + self.Address = Address + self.Address_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CustomerType576) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CustomerType576.subclass: + return CustomerType576.subclass(*args_, **kwargs_) + else: + return CustomerType576(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PersonName(self): + return self.PersonName + def set_PersonName(self, PersonName): + self.PersonName = PersonName + def get_Telephone(self): + return self.Telephone + def set_Telephone(self, Telephone): + self.Telephone = Telephone + def add_Telephone(self, value): + self.Telephone.append(value) + def insert_Telephone_at(self, index, value): + self.Telephone.insert(index, value) + def replace_Telephone_at(self, index, value): + self.Telephone[index] = value + def get_Email(self): + return self.Email + def set_Email(self, Email): + self.Email = Email + def get_Address(self): + return self.Address + def set_Address(self, Address): + self.Address = Address + def get_Gender(self): + return self.Gender + def set_Gender(self, Gender): + self.Gender = Gender + def get_BirthDate(self): + return self.BirthDate + def set_BirthDate(self, BirthDate): + self.BirthDate = BirthDate + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def validate_GenderType587(self, value): + # Validate type GenderType587, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_GenderType587_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_GenderType587_patterns_, )) + validate_GenderType587_patterns_ = [['^((Unknown|Male|Female))$']] + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_LanguageType588(self, value): + # Validate type LanguageType588, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType588_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType588_patterns_, )) + validate_LanguageType588_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + self.PersonName is not None or + self.Telephone or + self.Email is not None or + self.Address is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType576', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerType576') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CustomerType576': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerType576') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CustomerType576', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerType576'): + if self.Gender is not None and 'Gender' not in already_processed: + already_processed.add('Gender') + outfile.write(' Gender=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Gender), input_name='Gender')), )) + if self.BirthDate is not None and 'BirthDate' not in already_processed: + already_processed.add('BirthDate') + outfile.write(' BirthDate="%s"' % self.gds_format_date(self.BirthDate, input_name='BirthDate')) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType576', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PersonName is not None: + namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' + self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) + for Telephone_ in self.Telephone: + namespaceprefix_ = self.Telephone_nsprefix_ + ':' if (UseCapturedNS_ and self.Telephone_nsprefix_) else '' + Telephone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telephone', pretty_print=pretty_print) + if self.Email is not None: + namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' + self.Email.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) + if self.Address is not None: + namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' + self.Address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Gender', node) + if value is not None and 'Gender' not in already_processed: + already_processed.add('Gender') + self.Gender = value + self.validate_GenderType587(self.Gender) # validate type GenderType587 + value = find_attr_value_('BirthDate', node) + if value is not None and 'BirthDate' not in already_processed: + already_processed.add('BirthDate') + try: + self.BirthDate = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (BirthDate): %s' % exp) + self.validate_def_date(self.BirthDate) # validate type def_date + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType588(self.Language) # validate type LanguageType588 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PersonName': + obj_ = PersonNameType577.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PersonName = obj_ + obj_.original_tagname_ = 'PersonName' + elif nodeName_ == 'Telephone': + obj_ = TelephoneType578.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telephone.append(obj_) + obj_.original_tagname_ = 'Telephone' + elif nodeName_ == 'Email': + obj_ = EmailType581.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Email = obj_ + obj_.original_tagname_ = 'Email' + elif nodeName_ == 'Address': + obj_ = AddressType583.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Address = obj_ + obj_.original_tagname_ = 'Address' +# end class CustomerType576 + + +class PersonNameType577(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NamePrefix = NamePrefix + self.validate_StringLength1to16(self.NamePrefix) + self.NamePrefix_nsprefix_ = None + self.GivenName = GivenName + self.validate_StringLength1to64(self.GivenName) + self.GivenName_nsprefix_ = None + self.Surname = Surname + self.validate_StringLength1to64(self.Surname) + self.Surname_nsprefix_ = None + self.NameTitle = NameTitle + self.validate_StringLength1to16(self.NameTitle) + self.NameTitle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PersonNameType577) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PersonNameType577.subclass: + return PersonNameType577.subclass(*args_, **kwargs_) + else: + return PersonNameType577(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NamePrefix(self): + return self.NamePrefix + def set_NamePrefix(self, NamePrefix): + self.NamePrefix = NamePrefix + def get_GivenName(self): + return self.GivenName + def set_GivenName(self, GivenName): + self.GivenName = GivenName + def get_Surname(self): + return self.Surname + def set_Surname(self, Surname): + self.Surname = Surname + def get_NameTitle(self): + return self.NameTitle + def set_NameTitle(self, NameTitle): + self.NameTitle = NameTitle + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.NamePrefix is not None or + self.GivenName is not None or + self.Surname is not None or + self.NameTitle is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType577', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType577') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PersonNameType577': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType577') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType577', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType577'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType577', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.NamePrefix is not None: + namespaceprefix_ = self.NamePrefix_nsprefix_ + ':' if (UseCapturedNS_ and self.NamePrefix_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sNamePrefix>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NamePrefix), input_name='NamePrefix')), namespaceprefix_ , eol_)) + if self.GivenName is not None: + namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sGivenName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GivenName), input_name='GivenName')), namespaceprefix_ , eol_)) + if self.Surname is not None: + namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSurname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Surname), input_name='Surname')), namespaceprefix_ , eol_)) + if self.NameTitle is not None: + namespaceprefix_ = self.NameTitle_nsprefix_ + ':' if (UseCapturedNS_ and self.NameTitle_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sNameTitle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NameTitle), input_name='NameTitle')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'NamePrefix': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'NamePrefix') + value_ = self.gds_validate_string(value_, node, 'NamePrefix') + self.NamePrefix = value_ + self.NamePrefix_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.NamePrefix) + elif nodeName_ == 'GivenName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'GivenName') + value_ = self.gds_validate_string(value_, node, 'GivenName') + self.GivenName = value_ + self.GivenName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.GivenName) + elif nodeName_ == 'Surname': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Surname') + value_ = self.gds_validate_string(value_, node, 'Surname') + self.Surname = value_ + self.Surname_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.Surname) + elif nodeName_ == 'NameTitle': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'NameTitle') + value_ = self.gds_validate_string(value_, node, 'NameTitle') + self.NameTitle = value_ + self.NameTitle_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.NameTitle) +# end class PersonNameType577 + + +class TelephoneType578(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PhoneTechType = _cast(None, PhoneTechType) + self.PhoneTechType_nsprefix_ = None + self.PhoneNumber = _cast(None, PhoneNumber) + self.PhoneNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TelephoneType578) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TelephoneType578.subclass: + return TelephoneType578.subclass(*args_, **kwargs_) + else: + return TelephoneType578(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PhoneTechType(self): + return self.PhoneTechType + def set_PhoneTechType(self, PhoneTechType): + self.PhoneTechType = PhoneTechType + def get_PhoneNumber(self): + return self.PhoneNumber + def set_PhoneNumber(self, PhoneNumber): + self.PhoneNumber = PhoneNumber + def validate_PhoneTechTypeType579(self, value): + # Validate type PhoneTechTypeType579, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneTechTypeType579_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType579_patterns_, )) + validate_PhoneTechTypeType579_patterns_ = [['^((1|3|5))$']] + def validate_PhoneNumberType580(self, value): + # Validate type PhoneNumberType580, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneNumberType580_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType580_patterns_, )) + validate_PhoneNumberType580_patterns_ = [['^(\\+?[0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType578', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneType578') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TelephoneType578': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneType578') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneType578', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneType578'): + if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) + if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType578', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('PhoneTechType', node) + if value is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + self.PhoneTechType = value + self.validate_PhoneTechTypeType579(self.PhoneTechType) # validate type PhoneTechTypeType579 + value = find_attr_value_('PhoneNumber', node) + if value is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + self.PhoneNumber = value + self.validate_PhoneNumberType580(self.PhoneNumber) # validate type PhoneNumberType580 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TelephoneType578 + + +class EmailType581(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Remark=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Remark = _cast(None, Remark) + self.Remark_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EmailType581) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EmailType581.subclass: + return EmailType581.subclass(*args_, **kwargs_) + else: + return EmailType581(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Remark(self): + return self.Remark + def set_Remark(self, Remark): + self.Remark = Remark + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_email_string(self, value): + result = True + # Validate type def_email_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_email_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_email_string_patterns_, )) + result = False + return result + validate_def_email_string_patterns_ = [['^(\\S+@\\S+)$']] + def validate_RemarkType582(self, value): + # Validate type RemarkType582, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_RemarkType582_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType582_patterns_, )) + validate_RemarkType582_patterns_ = [['^(newsletter:(no|yes))$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType581', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType581') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EmailType581': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType581') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType581'): + if self.Remark is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType581', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Remark', node) + if value is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + self.Remark = value + self.validate_RemarkType582(self.Remark) # validate type RemarkType582 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class EmailType581 + + +class AddressType583(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Remark = _cast(None, Remark) + self.Remark_nsprefix_ = None + self.AddressLine = AddressLine + self.validate_StringLength1to255(self.AddressLine) + self.AddressLine_nsprefix_ = None + self.CityName = CityName + self.validate_StringLength1to64(self.CityName) + self.CityName_nsprefix_ = None + self.PostalCode = PostalCode + self.validate_StringLength1to16(self.PostalCode) + self.PostalCode_nsprefix_ = None + self.CountryName = CountryName + self.CountryName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressType583) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressType583.subclass: + return AddressType583.subclass(*args_, **kwargs_) + else: + return AddressType583(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AddressLine(self): + return self.AddressLine + def set_AddressLine(self, AddressLine): + self.AddressLine = AddressLine + def get_CityName(self): + return self.CityName + def set_CityName(self, CityName): + self.CityName = CityName + def get_PostalCode(self): + return self.PostalCode + def set_PostalCode(self, PostalCode): + self.PostalCode = PostalCode + def get_CountryName(self): + return self.CountryName + def set_CountryName(self, CountryName): + self.CountryName = CountryName + def get_Remark(self): + return self.Remark + def set_Remark(self, Remark): + self.Remark = Remark + def validate_StringLength1to255(self, value): + result = True + # Validate type StringLength1to255, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 255: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_RemarkType586(self, value): + # Validate type RemarkType586, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_RemarkType586_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType586_patterns_, )) + validate_RemarkType586_patterns_ = [['^(catalog:(no|yes))$']] + def has__content(self): + if ( + self.AddressLine is not None or + self.CityName is not None or + self.PostalCode is not None or + self.CountryName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType583', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType583') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressType583': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType583') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType583', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType583'): + if self.Remark is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType583', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AddressLine is not None: + namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) + if self.CityName is not None: + namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) + if self.PostalCode is not None: + namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) + if self.CountryName is not None: + namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' + self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Remark', node) + if value is not None and 'Remark' not in already_processed: + already_processed.add('Remark') + self.Remark = value + self.validate_RemarkType586(self.Remark) # validate type RemarkType586 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AddressLine': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine') + value_ = self.gds_validate_string(value_, node, 'AddressLine') + self.AddressLine = value_ + self.AddressLine_nsprefix_ = child_.prefix + # validate type StringLength1to255 + self.validate_StringLength1to255(self.AddressLine) + elif nodeName_ == 'CityName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CityName') + value_ = self.gds_validate_string(value_, node, 'CityName') + self.CityName = value_ + self.CityName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CityName) + elif nodeName_ == 'PostalCode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PostalCode') + value_ = self.gds_validate_string(value_, node, 'PostalCode') + self.PostalCode = value_ + self.PostalCode_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.PostalCode) + elif nodeName_ == 'CountryName': + obj_ = CountryNameType584.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CountryName = obj_ + obj_.original_tagname_ = 'CountryName' +# end class AddressType583 + + +class CountryNameType584(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CountryNameType584) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CountryNameType584.subclass: + return CountryNameType584.subclass(*args_, **kwargs_) + else: + return CountryNameType584(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def validate_CodeType585(self, value): + # Validate type CodeType585, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CodeType585_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType585_patterns_, )) + validate_CodeType585_patterns_ = [['^([A-Z][A-Z])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType584', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType584') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CountryNameType584': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType584') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType584', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType584'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType584', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType585(self.Code) # validate type CodeType585 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CountryNameType584 + + +class ResGlobalInfoType589(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Comments = Comments + self.Comments_nsprefix_ = None + self.SpecialRequests = SpecialRequests + self.SpecialRequests_nsprefix_ = None + self.DepositPayments = DepositPayments + self.DepositPayments_nsprefix_ = None + self.CancelPenalties = CancelPenalties + self.CancelPenalties_nsprefix_ = None + self.HotelReservationIDs = HotelReservationIDs + self.HotelReservationIDs_nsprefix_ = None + self.Profiles = Profiles + self.Profiles_nsprefix_ = None + self.BasicPropertyInfo = BasicPropertyInfo + self.BasicPropertyInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ResGlobalInfoType589) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ResGlobalInfoType589.subclass: + return ResGlobalInfoType589.subclass(*args_, **kwargs_) + else: + return ResGlobalInfoType589(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Comments(self): + return self.Comments + def set_Comments(self, Comments): + self.Comments = Comments + def get_SpecialRequests(self): + return self.SpecialRequests + def set_SpecialRequests(self, SpecialRequests): + self.SpecialRequests = SpecialRequests + def get_DepositPayments(self): + return self.DepositPayments + def set_DepositPayments(self, DepositPayments): + self.DepositPayments = DepositPayments + def get_CancelPenalties(self): + return self.CancelPenalties + def set_CancelPenalties(self, CancelPenalties): + self.CancelPenalties = CancelPenalties + def get_HotelReservationIDs(self): + return self.HotelReservationIDs + def set_HotelReservationIDs(self, HotelReservationIDs): + self.HotelReservationIDs = HotelReservationIDs + def get_Profiles(self): + return self.Profiles + def set_Profiles(self, Profiles): + self.Profiles = Profiles + def get_BasicPropertyInfo(self): + return self.BasicPropertyInfo + def set_BasicPropertyInfo(self, BasicPropertyInfo): + self.BasicPropertyInfo = BasicPropertyInfo + def has__content(self): + if ( + self.Comments is not None or + self.SpecialRequests is not None or + self.DepositPayments is not None or + self.CancelPenalties is not None or + self.HotelReservationIDs is not None or + self.Profiles is not None or + self.BasicPropertyInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType589', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGlobalInfoType589') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ResGlobalInfoType589': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGlobalInfoType589') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGlobalInfoType589', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGlobalInfoType589'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType589', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Comments is not None: + namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' + self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) + if self.SpecialRequests is not None: + namespaceprefix_ = self.SpecialRequests_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequests_nsprefix_) else '' + self.SpecialRequests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequests', pretty_print=pretty_print) + if self.DepositPayments is not None: + namespaceprefix_ = self.DepositPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.DepositPayments_nsprefix_) else '' + self.DepositPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepositPayments', pretty_print=pretty_print) + if self.CancelPenalties is not None: + namespaceprefix_ = self.CancelPenalties_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalties_nsprefix_) else '' + self.CancelPenalties.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalties', pretty_print=pretty_print) + if self.HotelReservationIDs is not None: + namespaceprefix_ = self.HotelReservationIDs_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationIDs_nsprefix_) else '' + self.HotelReservationIDs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationIDs', pretty_print=pretty_print) + if self.Profiles is not None: + namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' + self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) + if self.BasicPropertyInfo is not None: + namespaceprefix_ = self.BasicPropertyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.BasicPropertyInfo_nsprefix_) else '' + self.BasicPropertyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BasicPropertyInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Comments': + obj_ = CommentsType590.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comments = obj_ + obj_.original_tagname_ = 'Comments' + elif nodeName_ == 'SpecialRequests': + obj_ = SpecialRequestsType595.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SpecialRequests = obj_ + obj_.original_tagname_ = 'SpecialRequests' + elif nodeName_ == 'DepositPayments': + obj_ = DepositPaymentsType600.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DepositPayments = obj_ + obj_.original_tagname_ = 'DepositPayments' + elif nodeName_ == 'CancelPenalties': + obj_ = CancelPenaltiesType616.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPenalties = obj_ + obj_.original_tagname_ = 'CancelPenalties' + elif nodeName_ == 'HotelReservationIDs': + obj_ = HotelReservationIDsType619.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservationIDs = obj_ + obj_.original_tagname_ = 'HotelReservationIDs' + elif nodeName_ == 'Profiles': + obj_ = ProfilesType621.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profiles = obj_ + obj_.original_tagname_ = 'Profiles' + elif nodeName_ == 'BasicPropertyInfo': + obj_ = BasicPropertyInfoType633.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BasicPropertyInfo = obj_ + obj_.original_tagname_ = 'BasicPropertyInfo' +# end class ResGlobalInfoType589 + + +class CommentsType590(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Comment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Comment is None: + self.Comment = [] + else: + self.Comment = Comment + self.Comment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentsType590) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentsType590.subclass: + return CommentsType590.subclass(*args_, **kwargs_) + else: + return CommentsType590(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Comment(self): + return self.Comment + def set_Comment(self, Comment): + self.Comment = Comment + def add_Comment(self, value): + self.Comment.append(value) + def insert_Comment_at(self, index, value): + self.Comment.insert(index, value) + def replace_Comment_at(self, index, value): + self.Comment[index] = value + def has__content(self): + if ( + self.Comment + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType590', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType590') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentsType590': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType590') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType590', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType590'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType590', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Comment_ in self.Comment: + namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' + Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Comment': + obj_ = CommentType591.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Comment.append(obj_) + obj_.original_tagname_ = 'Comment' +# end class CommentsType590 + + +class CommentType591(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + self.Text = Text + self.validate_def_nonempty_string(self.Text) + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommentType591) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommentType591.subclass: + return CommentType591.subclass(*args_, **kwargs_) + else: + return CommentType591(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_NameType594(self, value): + # Validate type NameType594, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['included services', 'customer comment', 'additional info'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType594' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem or + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType591', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType591') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommentType591': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType591') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType591', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType591'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType591', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType594(self.Name) # validate type NameType594 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + obj_ = ListItemType592.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ListItem.append(obj_) + obj_.original_tagname_ = 'ListItem' + elif nodeName_ == 'Text': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Text') + value_ = self.gds_validate_string(value_, node, 'Text') + self.Text = value_ + self.Text_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.Text) +# end class CommentType591 + + +class ListItemType592(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ListItem = _cast(int, ListItem) + self.ListItem_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ListItemType592) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ListItemType592.subclass: + return ListItemType592.subclass(*args_, **kwargs_) + else: + return ListItemType592(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_LanguageType593(self, value): + # Validate type LanguageType593, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType593_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType593_patterns_, )) + validate_LanguageType593_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType592', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType592') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ListItemType592': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType592') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType592'): + if self.ListItem is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType592', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ListItem', node) + if value is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + self.ListItem = self.gds_parse_integer(value, node, 'ListItem') + if self.ListItem < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType593(self.Language) # validate type LanguageType593 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ListItemType592 + + +class SpecialRequestsType595(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, SpecialRequest=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if SpecialRequest is None: + self.SpecialRequest = [] + else: + self.SpecialRequest = SpecialRequest + self.SpecialRequest_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SpecialRequestsType595) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SpecialRequestsType595.subclass: + return SpecialRequestsType595.subclass(*args_, **kwargs_) + else: + return SpecialRequestsType595(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_SpecialRequest(self): + return self.SpecialRequest + def set_SpecialRequest(self, SpecialRequest): + self.SpecialRequest = SpecialRequest + def add_SpecialRequest(self, value): + self.SpecialRequest.append(value) + def insert_SpecialRequest_at(self, index, value): + self.SpecialRequest.insert(index, value) + def replace_SpecialRequest_at(self, index, value): + self.SpecialRequest[index] = value + def has__content(self): + if ( + self.SpecialRequest + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType595', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestsType595') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SpecialRequestsType595': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestsType595') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestsType595', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestsType595'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType595', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for SpecialRequest_ in self.SpecialRequest: + namespaceprefix_ = self.SpecialRequest_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequest_nsprefix_) else '' + SpecialRequest_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequest', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'SpecialRequest': + obj_ = SpecialRequestType596.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SpecialRequest.append(obj_) + obj_.original_tagname_ = 'SpecialRequest' +# end class SpecialRequestsType595 + + +class SpecialRequestType596(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RequestCode=None, CodeContext=None, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RequestCode = _cast(None, RequestCode) + self.RequestCode_nsprefix_ = None + self.CodeContext = _cast(None, CodeContext) + self.CodeContext_nsprefix_ = None + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SpecialRequestType596) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SpecialRequestType596.subclass: + return SpecialRequestType596.subclass(*args_, **kwargs_) + else: + return SpecialRequestType596(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def get_RequestCode(self): + return self.RequestCode + def set_RequestCode(self, RequestCode): + self.RequestCode = RequestCode + def get_CodeContext(self): + return self.CodeContext + def set_CodeContext(self, CodeContext): + self.CodeContext = CodeContext + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_CodeContextType599(self, value): + # Validate type CodeContextType599, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS', 'HOTEL'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType599' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType596', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestType596') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SpecialRequestType596': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestType596') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestType596', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestType596'): + if self.RequestCode is not None and 'RequestCode' not in already_processed: + already_processed.add('RequestCode') + outfile.write(' RequestCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RequestCode), input_name='RequestCode')), )) + if self.CodeContext is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType596', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RequestCode', node) + if value is not None and 'RequestCode' not in already_processed: + already_processed.add('RequestCode') + self.RequestCode = value + self.validate_StringLength1to16(self.RequestCode) # validate type StringLength1to16 + value = find_attr_value_('CodeContext', node) + if value is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + self.CodeContext = value + self.validate_CodeContextType599(self.CodeContext) # validate type CodeContextType599 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType597.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text = obj_ + obj_.original_tagname_ = 'Text' +# end class SpecialRequestType596 + + +class TextType597(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType597) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType597.subclass: + return TextType597.subclass(*args_, **kwargs_) + else: + return TextType597(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TextFormatType598(self, value): + # Validate type TextFormatType598, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType598' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType597', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType597') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType597': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType597') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType597'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType597', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType598(self.TextFormat) # validate type TextFormatType598 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType597 + + +class DepositPaymentsType600(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuaranteePayment is None: + self.GuaranteePayment = [] + else: + self.GuaranteePayment = GuaranteePayment + self.GuaranteePayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DepositPaymentsType600) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DepositPaymentsType600.subclass: + return DepositPaymentsType600.subclass(*args_, **kwargs_) + else: + return DepositPaymentsType600(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteePayment(self): + return self.GuaranteePayment + def set_GuaranteePayment(self, GuaranteePayment): + self.GuaranteePayment = GuaranteePayment + def add_GuaranteePayment(self, value): + self.GuaranteePayment.append(value) + def insert_GuaranteePayment_at(self, index, value): + self.GuaranteePayment.insert(index, value) + def replace_GuaranteePayment_at(self, index, value): + self.GuaranteePayment[index] = value + def has__content(self): + if ( + self.GuaranteePayment + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType600', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepositPaymentsType600') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DepositPaymentsType600': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepositPaymentsType600') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepositPaymentsType600', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepositPaymentsType600'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType600', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuaranteePayment_ in self.GuaranteePayment: + namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' + GuaranteePayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteePayment': + obj_ = GuaranteePaymentType601.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteePayment.append(obj_) + obj_.original_tagname_ = 'GuaranteePayment' +# end class DepositPaymentsType600 + + +class GuaranteePaymentType601(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.GuaranteeCode = _cast(None, GuaranteeCode) + self.GuaranteeCode_nsprefix_ = None + self.AcceptedPayments = AcceptedPayments + self.AcceptedPayments_nsprefix_ = None + self.AmountPercent = AmountPercent + self.AmountPercent_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteePaymentType601) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteePaymentType601.subclass: + return GuaranteePaymentType601.subclass(*args_, **kwargs_) + else: + return GuaranteePaymentType601(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayments(self): + return self.AcceptedPayments + def set_AcceptedPayments(self, AcceptedPayments): + self.AcceptedPayments = AcceptedPayments + def get_AmountPercent(self): + return self.AmountPercent + def set_AmountPercent(self, AmountPercent): + self.AmountPercent = AmountPercent + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_GuaranteeCode(self): + return self.GuaranteeCode + def set_GuaranteeCode(self, GuaranteeCode): + self.GuaranteeCode = GuaranteeCode + def has__content(self): + if ( + self.AcceptedPayments is not None or + self.AmountPercent is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType601', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType601') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType601': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType601') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType601', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType601'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) + if self.GuaranteeCode is not None and 'GuaranteeCode' not in already_processed: + already_processed.add('GuaranteeCode') + outfile.write(' GuaranteeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeCode), input_name='GuaranteeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType601', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AcceptedPayments is not None: + namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' + self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) + if self.AmountPercent is not None: + namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' + self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + self.Start = value + value = find_attr_value_('GuaranteeCode', node) + if value is not None and 'GuaranteeCode' not in already_processed: + already_processed.add('GuaranteeCode') + self.GuaranteeCode = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayments': + obj_ = AcceptedPaymentsType602.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayments = obj_ + obj_.original_tagname_ = 'AcceptedPayments' + elif nodeName_ == 'AmountPercent': + obj_ = AmountPercentType615.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AmountPercent = obj_ + obj_.original_tagname_ = 'AmountPercent' +# end class GuaranteePaymentType601 + + +class AcceptedPaymentsType602(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AcceptedPayment = AcceptedPayment + self.AcceptedPayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentsType602) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentsType602.subclass: + return AcceptedPaymentsType602.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentsType602(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayment(self): + return self.AcceptedPayment + def set_AcceptedPayment(self, AcceptedPayment): + self.AcceptedPayment = AcceptedPayment + def has__content(self): + if ( + self.AcceptedPayment is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType602', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType602') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType602': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType602') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType602', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType602'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType602', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AcceptedPayment is not None: + namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' + self.AcceptedPayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayment': + obj_ = AcceptedPaymentType603.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayment = obj_ + obj_.original_tagname_ = 'AcceptedPayment' +# end class AcceptedPaymentsType602 + + +class AcceptedPaymentType603(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteeTypeCode = _cast(None, GuaranteeTypeCode) + self.GuaranteeTypeCode_nsprefix_ = None + self.GuaranteeID = _cast(None, GuaranteeID) + self.GuaranteeID_nsprefix_ = None + self.PaymentTransactionTypeCode = _cast(None, PaymentTransactionTypeCode) + self.PaymentTransactionTypeCode_nsprefix_ = None + self.PaymentCard = PaymentCard + self.PaymentCard_nsprefix_ = None + self.BankAcct = BankAcct + self.BankAcct_nsprefix_ = None + self.Voucher = Voucher + self.Voucher_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentType603) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentType603.subclass: + return AcceptedPaymentType603.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentType603(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PaymentCard(self): + return self.PaymentCard + def set_PaymentCard(self, PaymentCard): + self.PaymentCard = PaymentCard + def get_BankAcct(self): + return self.BankAcct + def set_BankAcct(self, BankAcct): + self.BankAcct = BankAcct + def get_Voucher(self): + return self.Voucher + def set_Voucher(self, Voucher): + self.Voucher = Voucher + def get_GuaranteeTypeCode(self): + return self.GuaranteeTypeCode + def set_GuaranteeTypeCode(self, GuaranteeTypeCode): + self.GuaranteeTypeCode = GuaranteeTypeCode + def get_GuaranteeID(self): + return self.GuaranteeID + def set_GuaranteeID(self, GuaranteeID): + self.GuaranteeID = GuaranteeID + def get_PaymentTransactionTypeCode(self): + return self.PaymentTransactionTypeCode + def set_PaymentTransactionTypeCode(self, PaymentTransactionTypeCode): + self.PaymentTransactionTypeCode = PaymentTransactionTypeCode + def has__content(self): + if ( + self.PaymentCard is not None or + self.BankAcct is not None or + self.Voucher is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType603', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType603') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType603': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType603') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType603', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType603'): + if self.GuaranteeTypeCode is not None and 'GuaranteeTypeCode' not in already_processed: + already_processed.add('GuaranteeTypeCode') + outfile.write(' GuaranteeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeTypeCode), input_name='GuaranteeTypeCode')), )) + if self.GuaranteeID is not None and 'GuaranteeID' not in already_processed: + already_processed.add('GuaranteeID') + outfile.write(' GuaranteeID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeID), input_name='GuaranteeID')), )) + if self.PaymentTransactionTypeCode is not None and 'PaymentTransactionTypeCode' not in already_processed: + already_processed.add('PaymentTransactionTypeCode') + outfile.write(' PaymentTransactionTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PaymentTransactionTypeCode), input_name='PaymentTransactionTypeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType603', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PaymentCard is not None: + namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' + self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) + if self.BankAcct is not None: + namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' + self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) + if self.Voucher is not None: + namespaceprefix_ = self.Voucher_nsprefix_ + ':' if (UseCapturedNS_ and self.Voucher_nsprefix_) else '' + self.Voucher.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Voucher', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('GuaranteeTypeCode', node) + if value is not None and 'GuaranteeTypeCode' not in already_processed: + already_processed.add('GuaranteeTypeCode') + self.GuaranteeTypeCode = value + value = find_attr_value_('GuaranteeID', node) + if value is not None and 'GuaranteeID' not in already_processed: + already_processed.add('GuaranteeID') + self.GuaranteeID = value + value = find_attr_value_('PaymentTransactionTypeCode', node) + if value is not None and 'PaymentTransactionTypeCode' not in already_processed: + already_processed.add('PaymentTransactionTypeCode') + self.PaymentTransactionTypeCode = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PaymentCard': + obj_ = PaymentCardType604.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PaymentCard = obj_ + obj_.original_tagname_ = 'PaymentCard' + elif nodeName_ == 'BankAcct': + obj_ = BankAcctType610.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcct = obj_ + obj_.original_tagname_ = 'BankAcct' + elif nodeName_ == 'Voucher': + obj_ = VoucherType613.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Voucher = obj_ + obj_.original_tagname_ = 'Voucher' +# end class AcceptedPaymentType603 + + +class PaymentCardType604(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CardCode = _cast(None, CardCode) + self.CardCode_nsprefix_ = None + self.ExpireDate = _cast(None, ExpireDate) + self.ExpireDate_nsprefix_ = None + self.CardHolderName = CardHolderName + self.validate_StringLength1to64(self.CardHolderName) + self.CardHolderName_nsprefix_ = None + self.CardNumber = CardNumber + self.CardNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PaymentCardType604) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PaymentCardType604.subclass: + return PaymentCardType604.subclass(*args_, **kwargs_) + else: + return PaymentCardType604(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CardHolderName(self): + return self.CardHolderName + def set_CardHolderName(self, CardHolderName): + self.CardHolderName = CardHolderName + def get_CardNumber(self): + return self.CardNumber + def set_CardNumber(self, CardNumber): + self.CardNumber = CardNumber + def get_CardCode(self): + return self.CardCode + def set_CardCode(self, CardCode): + self.CardCode = CardCode + def get_ExpireDate(self): + return self.ExpireDate + def set_ExpireDate(self, ExpireDate): + self.ExpireDate = ExpireDate + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_CardCodeType608(self, value): + # Validate type CardCodeType608, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CardCodeType608_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType608_patterns_, )) + validate_CardCodeType608_patterns_ = [['^([A-Z]{1,2})$']] + def validate_ExpireDateType609(self, value): + # Validate type ExpireDateType609, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ExpireDateType609_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType609_patterns_, )) + validate_ExpireDateType609_patterns_ = [['^((0[1-9]|1[0-2])[0-9][0-9])$']] + def has__content(self): + if ( + self.CardHolderName is not None or + self.CardNumber is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType604', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType604') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PaymentCardType604': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType604') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType604', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType604'): + if self.CardCode is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) + if self.ExpireDate is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType604', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CardHolderName is not None: + namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) + if self.CardNumber is not None: + namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' + self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CardCode', node) + if value is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + self.CardCode = value + self.validate_CardCodeType608(self.CardCode) # validate type CardCodeType608 + value = find_attr_value_('ExpireDate', node) + if value is not None and 'ExpireDate' not in already_processed: + already_processed.add('ExpireDate') + self.ExpireDate = value + self.validate_ExpireDateType609(self.ExpireDate) # validate type ExpireDateType609 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CardHolderName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CardHolderName') + value_ = self.gds_validate_string(value_, node, 'CardHolderName') + self.CardHolderName = value_ + self.CardHolderName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CardHolderName) + elif nodeName_ == 'CardNumber': + obj_ = CardNumberType605.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CardNumber = obj_ + obj_.original_tagname_ = 'CardNumber' +# end class PaymentCardType604 + + +class CardNumberType605(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mask=None, Token=None, TokenProviderID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mask = _cast(None, Mask) + self.Mask_nsprefix_ = None + self.Token = _cast(None, Token) + self.Token_nsprefix_ = None + self.TokenProviderID = _cast(None, TokenProviderID) + self.TokenProviderID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CardNumberType605) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CardNumberType605.subclass: + return CardNumberType605.subclass(*args_, **kwargs_) + else: + return CardNumberType605(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mask(self): + return self.Mask + def set_Mask(self, Mask): + self.Mask = Mask + def get_Token(self): + return self.Token + def set_Token(self, Token): + self.Token = Token + def get_TokenProviderID(self): + return self.TokenProviderID + def set_TokenProviderID(self, TokenProviderID): + self.TokenProviderID = TokenProviderID + def validate_MaskType606(self, value): + # Validate type MaskType606, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MaskType606_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType606_patterns_, )) + validate_MaskType606_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] + def validate_TokenType607(self, value): + # Validate type TokenType607, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_TokenType607_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TokenType607_patterns_, )) + validate_TokenType607_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType605', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType605') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CardNumberType605': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType605') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType605', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType605'): + if self.Mask is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) + if self.Token is not None and 'Token' not in already_processed: + already_processed.add('Token') + outfile.write(' Token=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Token), input_name='Token')), )) + if self.TokenProviderID is not None and 'TokenProviderID' not in already_processed: + already_processed.add('TokenProviderID') + outfile.write(' TokenProviderID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TokenProviderID), input_name='TokenProviderID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType605', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mask', node) + if value is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + self.Mask = value + self.validate_MaskType606(self.Mask) # validate type MaskType606 + value = find_attr_value_('Token', node) + if value is not None and 'Token' not in already_processed: + already_processed.add('Token') + self.Token = value + self.validate_TokenType607(self.Token) # validate type TokenType607 + value = find_attr_value_('TokenProviderID', node) + if value is not None and 'TokenProviderID' not in already_processed: + already_processed.add('TokenProviderID') + self.TokenProviderID = value + self.validate_def_nonempty_string(self.TokenProviderID) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CardNumberType605 + + +class BankAcctType610(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BankAcctName=None, BankAcctNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BankAcctName = BankAcctName + self.validate_StringLength1to64(self.BankAcctName) + self.BankAcctName_nsprefix_ = None + self.BankAcctNumber = BankAcctNumber + self.BankAcctNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctType610) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctType610.subclass: + return BankAcctType610.subclass(*args_, **kwargs_) + else: + return BankAcctType610(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BankAcctName(self): + return self.BankAcctName + def set_BankAcctName(self, BankAcctName): + self.BankAcctName = BankAcctName + def get_BankAcctNumber(self): + return self.BankAcctNumber + def set_BankAcctNumber(self, BankAcctNumber): + self.BankAcctNumber = BankAcctNumber + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.BankAcctName is not None or + self.BankAcctNumber is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType610', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType610') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctType610': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType610') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType610', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType610'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType610', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BankAcctName is not None: + namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sBankAcctName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BankAcctName), input_name='BankAcctName')), namespaceprefix_ , eol_)) + if self.BankAcctNumber is not None: + namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' + self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BankAcctName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'BankAcctName') + value_ = self.gds_validate_string(value_, node, 'BankAcctName') + self.BankAcctName = value_ + self.BankAcctName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.BankAcctName) + elif nodeName_ == 'BankAcctNumber': + obj_ = BankAcctNumberType611.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcctNumber = obj_ + obj_.original_tagname_ = 'BankAcctNumber' +# end class BankAcctType610 + + +class BankAcctNumberType611(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mask=None, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mask = _cast(None, Mask) + self.Mask_nsprefix_ = None + self.PlainText = PlainText + self.validate_NumericStringLength1to19(self.PlainText) + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctNumberType611) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctNumberType611.subclass: + return BankAcctNumberType611.subclass(*args_, **kwargs_) + else: + return BankAcctNumberType611(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def get_Mask(self): + return self.Mask + def set_Mask(self, Mask): + self.Mask = Mask + def validate_NumericStringLength1to19(self, value): + result = True + # Validate type NumericStringLength1to19, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to19_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) + result = False + return result + validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] + def validate_MaskType612(self, value): + # Validate type MaskType612, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MaskType612_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType612_patterns_, )) + validate_MaskType612_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType611', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType611') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctNumberType611': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType611') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType611', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType611'): + if self.Mask is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType611', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mask', node) + if value is not None and 'Mask' not in already_processed: + already_processed.add('Mask') + self.Mask = value + self.validate_MaskType612(self.Mask) # validate type MaskType612 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PlainText') + value_ = self.gds_validate_string(value_, node, 'PlainText') + self.PlainText = value_ + self.PlainText_nsprefix_ = child_.prefix + # validate type NumericStringLength1to19 + self.validate_NumericStringLength1to19(self.PlainText) +# end class BankAcctNumberType611 + + +class VoucherType613(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ElectronicIndicator=None, Identifier=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ElectronicIndicator = _cast(bool, ElectronicIndicator) + self.ElectronicIndicator_nsprefix_ = None + self.Identifier = _cast(None, Identifier) + self.Identifier_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VoucherType613) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VoucherType613.subclass: + return VoucherType613.subclass(*args_, **kwargs_) + else: + return VoucherType613(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ElectronicIndicator(self): + return self.ElectronicIndicator + def set_ElectronicIndicator(self, ElectronicIndicator): + self.ElectronicIndicator = ElectronicIndicator + def get_Identifier(self): + return self.Identifier + def set_Identifier(self, Identifier): + self.Identifier = Identifier + def validate_ElectronicIndicatorType614(self, value): + # Validate type ElectronicIndicatorType614, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_ElectronicIndicatorType614_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ElectronicIndicatorType614_patterns_, )) + validate_ElectronicIndicatorType614_patterns_ = [['^(1|true)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType613', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VoucherType613') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VoucherType613': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VoucherType613') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VoucherType613', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VoucherType613'): + if self.ElectronicIndicator is not None and 'ElectronicIndicator' not in already_processed: + already_processed.add('ElectronicIndicator') + outfile.write(' ElectronicIndicator="%s"' % self.gds_format_boolean(self.ElectronicIndicator, input_name='ElectronicIndicator')) + if self.Identifier is not None and 'Identifier' not in already_processed: + already_processed.add('Identifier') + outfile.write(' Identifier=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Identifier), input_name='Identifier')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType613', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ElectronicIndicator', node) + if value is not None and 'ElectronicIndicator' not in already_processed: + already_processed.add('ElectronicIndicator') + if value in ('true', '1'): + self.ElectronicIndicator = True + elif value in ('false', '0'): + self.ElectronicIndicator = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_ElectronicIndicatorType614(self.ElectronicIndicator) # validate type ElectronicIndicatorType614 + value = find_attr_value_('Identifier', node) + if value is not None and 'Identifier' not in already_processed: + already_processed.add('Identifier') + self.Identifier = value + self.validate_StringLength1to64(self.Identifier) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class VoucherType613 + + +class AmountPercentType615(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmountPercentType615) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmountPercentType615.subclass: + return AmountPercentType615.subclass(*args_, **kwargs_) + else: + return AmountPercentType615(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType615', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType615') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmountPercentType615': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType615') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType615', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType615'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType615', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_gt0(self.Amount) # validate type def_decimal_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AmountPercentType615 + + +class CancelPenaltiesType616(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CancelPenalty = CancelPenalty + self.CancelPenalty_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPenaltiesType616) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPenaltiesType616.subclass: + return CancelPenaltiesType616.subclass(*args_, **kwargs_) + else: + return CancelPenaltiesType616(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CancelPenalty(self): + return self.CancelPenalty + def set_CancelPenalty(self, CancelPenalty): + self.CancelPenalty = CancelPenalty + def has__content(self): + if ( + self.CancelPenalty is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType616', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltiesType616') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPenaltiesType616': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltiesType616') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltiesType616', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltiesType616'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType616', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CancelPenalty is not None: + namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' + self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CancelPenalty': + obj_ = CancelPenaltyType617.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPenalty = obj_ + obj_.original_tagname_ = 'CancelPenalty' +# end class CancelPenaltiesType616 + + +class CancelPenaltyType617(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PenaltyDescription = PenaltyDescription + self.PenaltyDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPenaltyType617) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPenaltyType617.subclass: + return CancelPenaltyType617.subclass(*args_, **kwargs_) + else: + return CancelPenaltyType617(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PenaltyDescription(self): + return self.PenaltyDescription + def set_PenaltyDescription(self, PenaltyDescription): + self.PenaltyDescription = PenaltyDescription + def has__content(self): + if ( + self.PenaltyDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType617', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType617') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPenaltyType617': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType617') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType617', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType617'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType617', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PenaltyDescription is not None: + namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' + self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PenaltyDescription': + obj_ = PenaltyDescriptionType618.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PenaltyDescription = obj_ + obj_.original_tagname_ = 'PenaltyDescription' +# end class CancelPenaltyType617 + + +class PenaltyDescriptionType618(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Text = Text + self.validate_def_nonempty_string(self.Text) + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PenaltyDescriptionType618) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PenaltyDescriptionType618.subclass: + return PenaltyDescriptionType618.subclass(*args_, **kwargs_) + else: + return PenaltyDescriptionType618(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Text is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType618', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType618') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType618': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType618') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType618', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType618'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType618', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Text is not None: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Text') + value_ = self.gds_validate_string(value_, node, 'Text') + self.Text = value_ + self.Text_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.Text) +# end class PenaltyDescriptionType618 + + +class HotelReservationIDsType619(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelReservationID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if HotelReservationID is None: + self.HotelReservationID = [] + else: + self.HotelReservationID = HotelReservationID + self.HotelReservationID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationIDsType619) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationIDsType619.subclass: + return HotelReservationIDsType619.subclass(*args_, **kwargs_) + else: + return HotelReservationIDsType619(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelReservationID(self): + return self.HotelReservationID + def set_HotelReservationID(self, HotelReservationID): + self.HotelReservationID = HotelReservationID + def add_HotelReservationID(self, value): + self.HotelReservationID.append(value) + def insert_HotelReservationID_at(self, index, value): + self.HotelReservationID.insert(index, value) + def replace_HotelReservationID_at(self, index, value): + self.HotelReservationID[index] = value + def has__content(self): + if ( + self.HotelReservationID + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType619', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDsType619') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationIDsType619': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDsType619') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDsType619', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDsType619'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType619', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for HotelReservationID_ in self.HotelReservationID: + namespaceprefix_ = self.HotelReservationID_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationID_nsprefix_) else '' + HotelReservationID_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationID', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelReservationID': + obj_ = HotelReservationIDType620.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelReservationID.append(obj_) + obj_.original_tagname_ = 'HotelReservationID' +# end class HotelReservationIDsType619 + + +class HotelReservationIDType620(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ResID_Type = _cast(int, ResID_Type) + self.ResID_Type_nsprefix_ = None + self.ResID_Value = _cast(None, ResID_Value) + self.ResID_Value_nsprefix_ = None + self.ResID_Source = _cast(None, ResID_Source) + self.ResID_Source_nsprefix_ = None + self.ResID_SourceContext = _cast(None, ResID_SourceContext) + self.ResID_SourceContext_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelReservationIDType620) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelReservationIDType620.subclass: + return HotelReservationIDType620.subclass(*args_, **kwargs_) + else: + return HotelReservationIDType620(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ResID_Type(self): + return self.ResID_Type + def set_ResID_Type(self, ResID_Type): + self.ResID_Type = ResID_Type + def get_ResID_Value(self): + return self.ResID_Value + def set_ResID_Value(self, ResID_Value): + self.ResID_Value = ResID_Value + def get_ResID_Source(self): + return self.ResID_Source + def set_ResID_Source(self, ResID_Source): + self.ResID_Source = ResID_Source + def get_ResID_SourceContext(self): + return self.ResID_SourceContext + def set_ResID_SourceContext(self, ResID_SourceContext): + self.ResID_SourceContext = ResID_SourceContext + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType620', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDType620') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelReservationIDType620': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDType620') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDType620', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDType620'): + if self.ResID_Type is not None and 'ResID_Type' not in already_processed: + already_processed.add('ResID_Type') + outfile.write(' ResID_Type="%s"' % self.gds_format_integer(self.ResID_Type, input_name='ResID_Type')) + if self.ResID_Value is not None and 'ResID_Value' not in already_processed: + already_processed.add('ResID_Value') + outfile.write(' ResID_Value=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Value), input_name='ResID_Value')), )) + if self.ResID_Source is not None and 'ResID_Source' not in already_processed: + already_processed.add('ResID_Source') + outfile.write(' ResID_Source=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Source), input_name='ResID_Source')), )) + if self.ResID_SourceContext is not None and 'ResID_SourceContext' not in already_processed: + already_processed.add('ResID_SourceContext') + outfile.write(' ResID_SourceContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_SourceContext), input_name='ResID_SourceContext')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType620', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ResID_Type', node) + if value is not None and 'ResID_Type' not in already_processed: + already_processed.add('ResID_Type') + self.ResID_Type = self.gds_parse_integer(value, node, 'ResID_Type') + if self.ResID_Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.ResID_Type) # validate type def_int_gt0 + value = find_attr_value_('ResID_Value', node) + if value is not None and 'ResID_Value' not in already_processed: + already_processed.add('ResID_Value') + self.ResID_Value = value + self.validate_StringLength1to64(self.ResID_Value) # validate type StringLength1to64 + value = find_attr_value_('ResID_Source', node) + if value is not None and 'ResID_Source' not in already_processed: + already_processed.add('ResID_Source') + self.ResID_Source = value + self.validate_StringLength1to64(self.ResID_Source) # validate type StringLength1to64 + value = find_attr_value_('ResID_SourceContext', node) + if value is not None and 'ResID_SourceContext' not in already_processed: + already_processed.add('ResID_SourceContext') + self.ResID_SourceContext = value + self.validate_StringLength1to64(self.ResID_SourceContext) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class HotelReservationIDType620 + + +class ProfilesType621(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ProfileInfo = ProfileInfo + self.ProfileInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfilesType621) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfilesType621.subclass: + return ProfilesType621.subclass(*args_, **kwargs_) + else: + return ProfilesType621(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ProfileInfo(self): + return self.ProfileInfo + def set_ProfileInfo(self, ProfileInfo): + self.ProfileInfo = ProfileInfo + def has__content(self): + if ( + self.ProfileInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType621', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType621') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfilesType621': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType621') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType621', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType621'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType621', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ProfileInfo is not None: + namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' + self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ProfileInfo': + obj_ = ProfileInfoType622.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ProfileInfo = obj_ + obj_.original_tagname_ = 'ProfileInfo' +# end class ProfilesType621 + + +class ProfileInfoType622(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Profile=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Profile = Profile + self.Profile_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileInfoType622) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileInfoType622.subclass: + return ProfileInfoType622.subclass(*args_, **kwargs_) + else: + return ProfileInfoType622(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Profile(self): + return self.Profile + def set_Profile(self, Profile): + self.Profile = Profile + def has__content(self): + if ( + self.Profile is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType622', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType622') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileInfoType622': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType622') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType622', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType622'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType622', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Profile is not None: + namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' + self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Profile': + obj_ = ProfileType623.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Profile = obj_ + obj_.original_tagname_ = 'Profile' +# end class ProfileInfoType622 + + +class ProfileType623(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ProfileType=None, CompanyInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ProfileType = _cast(None, ProfileType) + self.ProfileType_nsprefix_ = None + self.CompanyInfo = CompanyInfo + self.CompanyInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ProfileType623) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ProfileType623.subclass: + return ProfileType623.subclass(*args_, **kwargs_) + else: + return ProfileType623(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CompanyInfo(self): + return self.CompanyInfo + def set_CompanyInfo(self, CompanyInfo): + self.CompanyInfo = CompanyInfo + def get_ProfileType(self): + return self.ProfileType + def set_ProfileType(self, ProfileType): + self.ProfileType = ProfileType + def validate_ProfileTypeType632(self, value): + # Validate type ProfileTypeType632, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['4'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ProfileTypeType632' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.CompanyInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType623', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType623') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ProfileType623': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType623') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType623', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType623'): + if self.ProfileType is not None and 'ProfileType' not in already_processed: + already_processed.add('ProfileType') + outfile.write(' ProfileType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ProfileType), input_name='ProfileType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType623', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CompanyInfo is not None: + namespaceprefix_ = self.CompanyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyInfo_nsprefix_) else '' + self.CompanyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ProfileType', node) + if value is not None and 'ProfileType' not in already_processed: + already_processed.add('ProfileType') + self.ProfileType = value + self.validate_ProfileTypeType632(self.ProfileType) # validate type ProfileTypeType632 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CompanyInfo': + obj_ = CompanyInfoType624.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CompanyInfo = obj_ + obj_.original_tagname_ = 'CompanyInfo' +# end class ProfileType623 + + +class CompanyInfoType624(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CompanyName = CompanyName + self.CompanyName_nsprefix_ = None + self.AddressInfo = AddressInfo + self.AddressInfo_nsprefix_ = None + self.TelephoneInfo = TelephoneInfo + self.TelephoneInfo_nsprefix_ = None + self.Email = Email + self.validate_def_nonempty_string(self.Email) + self.Email_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CompanyInfoType624) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CompanyInfoType624.subclass: + return CompanyInfoType624.subclass(*args_, **kwargs_) + else: + return CompanyInfoType624(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CompanyName(self): + return self.CompanyName + def set_CompanyName(self, CompanyName): + self.CompanyName = CompanyName + def get_AddressInfo(self): + return self.AddressInfo + def set_AddressInfo(self, AddressInfo): + self.AddressInfo = AddressInfo + def get_TelephoneInfo(self): + return self.TelephoneInfo + def set_TelephoneInfo(self, TelephoneInfo): + self.TelephoneInfo = TelephoneInfo + def get_Email(self): + return self.Email + def set_Email(self, Email): + self.Email = Email + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.CompanyName is not None or + self.AddressInfo is not None or + self.TelephoneInfo is not None or + self.Email is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType624', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyInfoType624') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CompanyInfoType624': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyInfoType624') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CompanyInfoType624', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyInfoType624'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType624', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CompanyName is not None: + namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' + self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) + if self.AddressInfo is not None: + namespaceprefix_ = self.AddressInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressInfo_nsprefix_) else '' + self.AddressInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AddressInfo', pretty_print=pretty_print) + if self.TelephoneInfo is not None: + namespaceprefix_ = self.TelephoneInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.TelephoneInfo_nsprefix_) else '' + self.TelephoneInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TelephoneInfo', pretty_print=pretty_print) + if self.Email is not None: + namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sEmail>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Email), input_name='Email')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CompanyName': + obj_ = CompanyNameType625.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CompanyName = obj_ + obj_.original_tagname_ = 'CompanyName' + elif nodeName_ == 'AddressInfo': + obj_ = AddressInfoType626.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AddressInfo = obj_ + obj_.original_tagname_ = 'AddressInfo' + elif nodeName_ == 'TelephoneInfo': + obj_ = TelephoneInfoType629.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TelephoneInfo = obj_ + obj_.original_tagname_ = 'TelephoneInfo' + elif nodeName_ == 'Email': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Email') + value_ = self.gds_validate_string(value_, node, 'Email') + self.Email = value_ + self.Email_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.Email) +# end class CompanyInfoType624 + + +class CompanyNameType625(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, CodeContext=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.CodeContext = _cast(None, CodeContext) + self.CodeContext_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CompanyNameType625) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CompanyNameType625.subclass: + return CompanyNameType625.subclass(*args_, **kwargs_) + else: + return CompanyNameType625(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_CodeContext(self): + return self.CodeContext + def set_CodeContext(self, CodeContext): + self.CodeContext = CodeContext + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType625', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType625') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CompanyNameType625': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType625') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType625'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.CodeContext is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType625', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string + value = find_attr_value_('CodeContext', node) + if value is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + self.CodeContext = value + self.validate_def_nonempty_string(self.CodeContext) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CompanyNameType625 + + +class AddressInfoType626(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AddressLine = AddressLine + self.validate_StringLength1to255(self.AddressLine) + self.AddressLine_nsprefix_ = None + self.CityName = CityName + self.validate_StringLength1to64(self.CityName) + self.CityName_nsprefix_ = None + self.PostalCode = PostalCode + self.validate_StringLength1to16(self.PostalCode) + self.PostalCode_nsprefix_ = None + self.CountryName = CountryName + self.CountryName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressInfoType626) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressInfoType626.subclass: + return AddressInfoType626.subclass(*args_, **kwargs_) + else: + return AddressInfoType626(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AddressLine(self): + return self.AddressLine + def set_AddressLine(self, AddressLine): + self.AddressLine = AddressLine + def get_CityName(self): + return self.CityName + def set_CityName(self, CityName): + self.CityName = CityName + def get_PostalCode(self): + return self.PostalCode + def set_PostalCode(self, PostalCode): + self.PostalCode = PostalCode + def get_CountryName(self): + return self.CountryName + def set_CountryName(self, CountryName): + self.CountryName = CountryName + def validate_StringLength1to255(self, value): + result = True + # Validate type StringLength1to255, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 255: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.AddressLine is not None or + self.CityName is not None or + self.PostalCode is not None or + self.CountryName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType626', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressInfoType626') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressInfoType626': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressInfoType626') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressInfoType626', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressInfoType626'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType626', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AddressLine is not None: + namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) + if self.CityName is not None: + namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) + if self.PostalCode is not None: + namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) + if self.CountryName is not None: + namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' + self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AddressLine': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine') + value_ = self.gds_validate_string(value_, node, 'AddressLine') + self.AddressLine = value_ + self.AddressLine_nsprefix_ = child_.prefix + # validate type StringLength1to255 + self.validate_StringLength1to255(self.AddressLine) + elif nodeName_ == 'CityName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CityName') + value_ = self.gds_validate_string(value_, node, 'CityName') + self.CityName = value_ + self.CityName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CityName) + elif nodeName_ == 'PostalCode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PostalCode') + value_ = self.gds_validate_string(value_, node, 'PostalCode') + self.PostalCode = value_ + self.PostalCode_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.PostalCode) + elif nodeName_ == 'CountryName': + obj_ = CountryNameType627.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CountryName = obj_ + obj_.original_tagname_ = 'CountryName' +# end class AddressInfoType626 + + +class CountryNameType627(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CountryNameType627) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CountryNameType627.subclass: + return CountryNameType627.subclass(*args_, **kwargs_) + else: + return CountryNameType627(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def validate_CodeType628(self, value): + # Validate type CodeType628, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CodeType628_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType628_patterns_, )) + validate_CodeType628_patterns_ = [['^([A-Z][A-Z])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType627', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType627') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CountryNameType627': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType627') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType627', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType627'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType627', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType628(self.Code) # validate type CodeType628 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CountryNameType627 + + +class TelephoneInfoType629(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PhoneTechType = _cast(None, PhoneTechType) + self.PhoneTechType_nsprefix_ = None + self.PhoneNumber = _cast(None, PhoneNumber) + self.PhoneNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TelephoneInfoType629) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TelephoneInfoType629.subclass: + return TelephoneInfoType629.subclass(*args_, **kwargs_) + else: + return TelephoneInfoType629(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PhoneTechType(self): + return self.PhoneTechType + def set_PhoneTechType(self, PhoneTechType): + self.PhoneTechType = PhoneTechType + def get_PhoneNumber(self): + return self.PhoneNumber + def set_PhoneNumber(self, PhoneNumber): + self.PhoneNumber = PhoneNumber + def validate_PhoneTechTypeType630(self, value): + # Validate type PhoneTechTypeType630, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneTechTypeType630_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType630_patterns_, )) + validate_PhoneTechTypeType630_patterns_ = [['^((1|3|5))$']] + def validate_PhoneNumberType631(self, value): + # Validate type PhoneNumberType631, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneNumberType631_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType631_patterns_, )) + validate_PhoneNumberType631_patterns_ = [['^(\\+?[0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType629', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneInfoType629') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TelephoneInfoType629': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneInfoType629') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneInfoType629', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneInfoType629'): + if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) + if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType629', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('PhoneTechType', node) + if value is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + self.PhoneTechType = value + self.validate_PhoneTechTypeType630(self.PhoneTechType) # validate type PhoneTechTypeType630 + value = find_attr_value_('PhoneNumber', node) + if value is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + self.PhoneNumber = value + self.validate_PhoneNumberType631(self.PhoneNumber) # validate type PhoneNumberType631 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TelephoneInfoType629 + + +class BasicPropertyInfoType633(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BasicPropertyInfoType633) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BasicPropertyInfoType633.subclass: + return BasicPropertyInfoType633.subclass(*args_, **kwargs_) + else: + return BasicPropertyInfoType633(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType633', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BasicPropertyInfoType633') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BasicPropertyInfoType633': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BasicPropertyInfoType633') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BasicPropertyInfoType633', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BasicPropertyInfoType633'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType633', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BasicPropertyInfoType633 + + +class HotelDescriptiveContentsType635(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelDescriptiveContent=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelDescriptiveContent = HotelDescriptiveContent + self.HotelDescriptiveContent_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelDescriptiveContentsType635) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelDescriptiveContentsType635.subclass: + return HotelDescriptiveContentsType635.subclass(*args_, **kwargs_) + else: + return HotelDescriptiveContentsType635(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelDescriptiveContent(self): + return self.HotelDescriptiveContent + def set_HotelDescriptiveContent(self, HotelDescriptiveContent): + self.HotelDescriptiveContent = HotelDescriptiveContent + def has__content(self): + if ( + self.HotelDescriptiveContent is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType635', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentsType635') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentsType635': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentsType635') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentsType635', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentsType635'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType635', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelDescriptiveContent is not None: + namespaceprefix_ = self.HotelDescriptiveContent_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContent_nsprefix_) else '' + self.HotelDescriptiveContent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContent', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelDescriptiveContent': + obj_ = HotelDescriptiveContentType636.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelDescriptiveContent = obj_ + obj_.original_tagname_ = 'HotelDescriptiveContent' +# end class HotelDescriptiveContentsType635 + + +class HotelDescriptiveContentType636(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCityCode = _cast(None, HotelCityCode) + self.HotelCityCode_nsprefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + self.AreaID = _cast(None, AreaID) + self.AreaID_nsprefix_ = None + self.HotelInfo = HotelInfo + self.HotelInfo_nsprefix_ = None + self.FacilityInfo = FacilityInfo + self.FacilityInfo_nsprefix_ = None + self.Policies = Policies + self.Policies_nsprefix_ = None + self.AffiliationInfo = AffiliationInfo + self.AffiliationInfo_nsprefix_ = None + self.ContactInfos = ContactInfos + self.ContactInfos_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelDescriptiveContentType636) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelDescriptiveContentType636.subclass: + return HotelDescriptiveContentType636.subclass(*args_, **kwargs_) + else: + return HotelDescriptiveContentType636(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelInfo(self): + return self.HotelInfo + def set_HotelInfo(self, HotelInfo): + self.HotelInfo = HotelInfo + def get_FacilityInfo(self): + return self.FacilityInfo + def set_FacilityInfo(self, FacilityInfo): + self.FacilityInfo = FacilityInfo + def get_Policies(self): + return self.Policies + def set_Policies(self, Policies): + self.Policies = Policies + def get_AffiliationInfo(self): + return self.AffiliationInfo + def set_AffiliationInfo(self, AffiliationInfo): + self.AffiliationInfo = AffiliationInfo + def get_ContactInfos(self): + return self.ContactInfos + def set_ContactInfos(self, ContactInfos): + self.ContactInfos = ContactInfos + def get_HotelCityCode(self): + return self.HotelCityCode + def set_HotelCityCode(self, HotelCityCode): + self.HotelCityCode = HotelCityCode + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def get_AreaID(self): + return self.AreaID + def set_AreaID(self, AreaID): + self.AreaID = AreaID + def validate_StringLength1to8(self, value): + # Validate type StringLength1to8, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_NumericStringLength1to8(self, value): + # Validate type NumericStringLength1to8, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to8_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to8_patterns_, )) + validate_NumericStringLength1to8_patterns_ = [['^([0-9]{1,8})$']] + def has__content(self): + if ( + self.HotelInfo is not None or + self.FacilityInfo is not None or + self.Policies is not None or + self.AffiliationInfo is not None or + self.ContactInfos is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType636', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentType636') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentType636': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentType636') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentType636', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentType636'): + if self.HotelCityCode is not None and 'HotelCityCode' not in already_processed: + already_processed.add('HotelCityCode') + outfile.write(' HotelCityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCityCode), input_name='HotelCityCode')), )) + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + if self.AreaID is not None and 'AreaID' not in already_processed: + already_processed.add('AreaID') + outfile.write(' AreaID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AreaID), input_name='AreaID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType636', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelInfo is not None: + namespaceprefix_ = self.HotelInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelInfo_nsprefix_) else '' + self.HotelInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelInfo', pretty_print=pretty_print) + if self.FacilityInfo is not None: + namespaceprefix_ = self.FacilityInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.FacilityInfo_nsprefix_) else '' + self.FacilityInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FacilityInfo', pretty_print=pretty_print) + if self.Policies is not None: + namespaceprefix_ = self.Policies_nsprefix_ + ':' if (UseCapturedNS_ and self.Policies_nsprefix_) else '' + self.Policies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policies', pretty_print=pretty_print) + if self.AffiliationInfo is not None: + namespaceprefix_ = self.AffiliationInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AffiliationInfo_nsprefix_) else '' + self.AffiliationInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AffiliationInfo', pretty_print=pretty_print) + if self.ContactInfos is not None: + namespaceprefix_ = self.ContactInfos_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfos_nsprefix_) else '' + self.ContactInfos.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfos', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCityCode', node) + if value is not None and 'HotelCityCode' not in already_processed: + already_processed.add('HotelCityCode') + self.HotelCityCode = value + self.validate_StringLength1to8(self.HotelCityCode) # validate type StringLength1to8 + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + value = find_attr_value_('AreaID', node) + if value is not None and 'AreaID' not in already_processed: + already_processed.add('AreaID') + self.AreaID = value + self.validate_NumericStringLength1to8(self.AreaID) # validate type NumericStringLength1to8 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelInfo': + obj_ = HotelInfoType637.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelInfo = obj_ + obj_.original_tagname_ = 'HotelInfo' + elif nodeName_ == 'FacilityInfo': + obj_ = FacilityInfoType673.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FacilityInfo = obj_ + obj_.original_tagname_ = 'FacilityInfo' + elif nodeName_ == 'Policies': + obj_ = PoliciesType694.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Policies = obj_ + obj_.original_tagname_ = 'Policies' + elif nodeName_ == 'AffiliationInfo': + obj_ = AffiliationInfoType744.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AffiliationInfo = obj_ + obj_.original_tagname_ = 'AffiliationInfo' + elif nodeName_ == 'ContactInfos': + obj_ = ContactInfosType747.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ContactInfos = obj_ + obj_.original_tagname_ = 'ContactInfos' +# end class HotelDescriptiveContentType636 + + +class HotelInfoType637(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelStatusCode = _cast(int, HotelStatusCode) + self.HotelStatusCode_nsprefix_ = None + self.CategoryCodes = CategoryCodes + self.CategoryCodes_nsprefix_ = None + self.Descriptions = Descriptions + self.Descriptions_nsprefix_ = None + self.Position = Position + self.Position_nsprefix_ = None + self.Services = Services + self.Services_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelInfoType637) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelInfoType637.subclass: + return HotelInfoType637.subclass(*args_, **kwargs_) + else: + return HotelInfoType637(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CategoryCodes(self): + return self.CategoryCodes + def set_CategoryCodes(self, CategoryCodes): + self.CategoryCodes = CategoryCodes + def get_Descriptions(self): + return self.Descriptions + def set_Descriptions(self, Descriptions): + self.Descriptions = Descriptions + def get_Position(self): + return self.Position + def set_Position(self, Position): + self.Position = Position + def get_Services(self): + return self.Services + def set_Services(self, Services): + self.Services = Services + def get_HotelStatusCode(self): + return self.HotelStatusCode + def set_HotelStatusCode(self, HotelStatusCode): + self.HotelStatusCode = HotelStatusCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.CategoryCodes is not None or + self.Descriptions is not None or + self.Position is not None or + self.Services is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType637', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelInfoType637') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelInfoType637': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelInfoType637') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelInfoType637', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelInfoType637'): + if self.HotelStatusCode is not None and 'HotelStatusCode' not in already_processed: + already_processed.add('HotelStatusCode') + outfile.write(' HotelStatusCode="%s"' % self.gds_format_integer(self.HotelStatusCode, input_name='HotelStatusCode')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType637', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CategoryCodes is not None: + namespaceprefix_ = self.CategoryCodes_nsprefix_ + ':' if (UseCapturedNS_ and self.CategoryCodes_nsprefix_) else '' + self.CategoryCodes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CategoryCodes', pretty_print=pretty_print) + if self.Descriptions is not None: + namespaceprefix_ = self.Descriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.Descriptions_nsprefix_) else '' + self.Descriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Descriptions', pretty_print=pretty_print) + if self.Position is not None: + namespaceprefix_ = self.Position_nsprefix_ + ':' if (UseCapturedNS_ and self.Position_nsprefix_) else '' + self.Position.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Position', pretty_print=pretty_print) + if self.Services is not None: + namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' + self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelStatusCode', node) + if value is not None and 'HotelStatusCode' not in already_processed: + already_processed.add('HotelStatusCode') + self.HotelStatusCode = self.gds_parse_integer(value, node, 'HotelStatusCode') + if self.HotelStatusCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.HotelStatusCode) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CategoryCodes': + obj_ = CategoryCodesType638.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CategoryCodes = obj_ + obj_.original_tagname_ = 'CategoryCodes' + elif nodeName_ == 'Descriptions': + obj_ = DescriptionsType640.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Descriptions = obj_ + obj_.original_tagname_ = 'Descriptions' + elif nodeName_ == 'Position': + obj_ = PositionType666.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Position = obj_ + obj_.original_tagname_ = 'Position' + elif nodeName_ == 'Services': + obj_ = ServicesType668.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Services = obj_ + obj_.original_tagname_ = 'Services' +# end class HotelInfoType637 + + +class CategoryCodesType638(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCategory=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCategory = HotelCategory + self.HotelCategory_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CategoryCodesType638) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CategoryCodesType638.subclass: + return CategoryCodesType638.subclass(*args_, **kwargs_) + else: + return CategoryCodesType638(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_HotelCategory(self): + return self.HotelCategory + def set_HotelCategory(self, HotelCategory): + self.HotelCategory = HotelCategory + def has__content(self): + if ( + self.HotelCategory is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType638', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CategoryCodesType638') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CategoryCodesType638': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CategoryCodesType638') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CategoryCodesType638', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CategoryCodesType638'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType638', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.HotelCategory is not None: + namespaceprefix_ = self.HotelCategory_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelCategory_nsprefix_) else '' + self.HotelCategory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelCategory', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'HotelCategory': + obj_ = HotelCategoryType639.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HotelCategory = obj_ + obj_.original_tagname_ = 'HotelCategory' +# end class CategoryCodesType638 + + +class HotelCategoryType639(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, CodeDetail=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.CodeDetail = _cast(None, CodeDetail) + self.CodeDetail_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, HotelCategoryType639) + if subclass is not None: + return subclass(*args_, **kwargs_) + if HotelCategoryType639.subclass: + return HotelCategoryType639.subclass(*args_, **kwargs_) + else: + return HotelCategoryType639(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_CodeDetail(self): + return self.CodeDetail + def set_CodeDetail(self, CodeDetail): + self.CodeDetail = CodeDetail + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType639', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelCategoryType639') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'HotelCategoryType639': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelCategoryType639') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelCategoryType639', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelCategoryType639'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.CodeDetail is not None and 'CodeDetail' not in already_processed: + already_processed.add('CodeDetail') + outfile.write(' CodeDetail=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeDetail), input_name='CodeDetail')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType639', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string + value = find_attr_value_('CodeDetail', node) + if value is not None and 'CodeDetail' not in already_processed: + already_processed.add('CodeDetail') + self.CodeDetail = value + self.validate_StringLength1to128(self.CodeDetail) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class HotelCategoryType639 + + +class DescriptionsType640(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MultimediaDescriptions = MultimediaDescriptions + self.MultimediaDescriptions_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionsType640) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionsType640.subclass: + return DescriptionsType640.subclass(*args_, **kwargs_) + else: + return DescriptionsType640(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MultimediaDescriptions(self): + return self.MultimediaDescriptions + def set_MultimediaDescriptions(self, MultimediaDescriptions): + self.MultimediaDescriptions = MultimediaDescriptions + def has__content(self): + if ( + self.MultimediaDescriptions is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType640', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionsType640') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionsType640': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionsType640') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionsType640', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionsType640'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType640', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.MultimediaDescriptions is not None: + namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' + self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'MultimediaDescriptions': + obj_ = MultimediaDescriptionsType641.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescriptions = obj_ + obj_.original_tagname_ = 'MultimediaDescriptions' +# end class DescriptionsType640 + + +class MultimediaDescriptionsType641(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if MultimediaDescription is None: + self.MultimediaDescription = [] + else: + self.MultimediaDescription = MultimediaDescription + self.MultimediaDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionsType641) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionsType641.subclass: + return MultimediaDescriptionsType641.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionsType641(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MultimediaDescription(self): + return self.MultimediaDescription + def set_MultimediaDescription(self, MultimediaDescription): + self.MultimediaDescription = MultimediaDescription + def add_MultimediaDescription(self, value): + self.MultimediaDescription.append(value) + def insert_MultimediaDescription_at(self, index, value): + self.MultimediaDescription.insert(index, value) + def replace_MultimediaDescription_at(self, index, value): + self.MultimediaDescription[index] = value + def has__content(self): + if ( + self.MultimediaDescription + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType641', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType641') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType641': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType641') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType641', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType641'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType641', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for MultimediaDescription_ in self.MultimediaDescription: + namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' + MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'MultimediaDescription': + obj_ = MultimediaDescriptionType642.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescription.append(obj_) + obj_.original_tagname_ = 'MultimediaDescription' +# end class MultimediaDescriptionsType641 + + +class MultimediaDescriptionType642(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.InfoCode = _cast(int, InfoCode) + self.InfoCode_nsprefix_ = None + self.TextItems = TextItems + self.TextItems_nsprefix_ = None + self.ImageItems = ImageItems + self.ImageItems_nsprefix_ = None + self.VideoItems = VideoItems + self.VideoItems_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionType642) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionType642.subclass: + return MultimediaDescriptionType642.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionType642(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItems(self): + return self.TextItems + def set_TextItems(self, TextItems): + self.TextItems = TextItems + def get_ImageItems(self): + return self.ImageItems + def set_ImageItems(self, ImageItems): + self.ImageItems = ImageItems + def get_VideoItems(self): + return self.VideoItems + def set_VideoItems(self, VideoItems): + self.VideoItems = VideoItems + def get_InfoCode(self): + return self.InfoCode + def set_InfoCode(self, InfoCode): + self.InfoCode = InfoCode + def validate_InfoCodeType665(self, value): + # Validate type InfoCodeType665, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 17, 23, 24] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType665' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_InfoCodeType665_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType665_patterns_, )) + validate_InfoCodeType665_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.TextItems is not None or + self.ImageItems is not None or + self.VideoItems is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType642', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType642') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType642': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType642') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType642', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType642'): + if self.InfoCode is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType642', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TextItems is not None: + namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' + self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) + if self.ImageItems is not None: + namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' + self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) + if self.VideoItems is not None: + namespaceprefix_ = self.VideoItems_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItems_nsprefix_) else '' + self.VideoItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItems', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('InfoCode', node) + if value is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') + if self.InfoCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_InfoCodeType665(self.InfoCode) # validate type InfoCodeType665 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItems': + obj_ = TextItemsType643.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItems = obj_ + obj_.original_tagname_ = 'TextItems' + elif nodeName_ == 'ImageItems': + obj_ = ImageItemsType648.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItems = obj_ + obj_.original_tagname_ = 'ImageItems' + elif nodeName_ == 'VideoItems': + obj_ = VideoItemsType657.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VideoItems = obj_ + obj_.original_tagname_ = 'VideoItems' +# end class MultimediaDescriptionType642 + + +class TextItemsType643(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if TextItem is None: + self.TextItem = [] + else: + self.TextItem = TextItem + self.TextItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemsType643) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemsType643.subclass: + return TextItemsType643.subclass(*args_, **kwargs_) + else: + return TextItemsType643(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItem(self): + return self.TextItem + def set_TextItem(self, TextItem): + self.TextItem = TextItem + def add_TextItem(self, value): + self.TextItem.append(value) + def insert_TextItem_at(self, index, value): + self.TextItem.insert(index, value) + def replace_TextItem_at(self, index, value): + self.TextItem[index] = value + def has__content(self): + if ( + self.TextItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType643', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType643') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemsType643': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType643') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType643', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType643'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType643', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for TextItem_ in self.TextItem: + namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' + TextItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItem': + obj_ = TextItemType644.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItem.append(obj_) + obj_.original_tagname_ = 'TextItem' +# end class TextItemsType643 + + +class TextItemType644(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.SourceID = _cast(None, SourceID) + self.SourceID_nsprefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemType644) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemType644.subclass: + return TextItemType644.subclass(*args_, **kwargs_) + else: + return TextItemType644(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_SourceID(self): + return self.SourceID + def set_SourceID(self, SourceID): + self.SourceID = SourceID + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType644', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType644') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemType644': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType644') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType644', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType644'): + if self.SourceID is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType644', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('SourceID', node) + if value is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + self.SourceID = value + self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType645.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class TextItemType644 + + +class DescriptionType645(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType645) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType645.subclass: + return DescriptionType645.subclass(*args_, **kwargs_) + else: + return DescriptionType645(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType646(self, value): + # Validate type TextFormatType646, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType646' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType647(self, value): + # Validate type LanguageType647, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType647_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType647_patterns_, )) + validate_LanguageType647_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType645', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType645') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType645': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType645') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType645'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType645', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType646(self.TextFormat) # validate type TextFormatType646 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType647(self.Language) # validate type LanguageType647 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType645 + + +class ImageItemsType648(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if ImageItem is None: + self.ImageItem = [] + else: + self.ImageItem = ImageItem + self.ImageItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemsType648) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemsType648.subclass: + return ImageItemsType648.subclass(*args_, **kwargs_) + else: + return ImageItemsType648(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageItem(self): + return self.ImageItem + def set_ImageItem(self, ImageItem): + self.ImageItem = ImageItem + def add_ImageItem(self, value): + self.ImageItem.append(value) + def insert_ImageItem_at(self, index, value): + self.ImageItem.insert(index, value) + def replace_ImageItem_at(self, index, value): + self.ImageItem[index] = value + def has__content(self): + if ( + self.ImageItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType648', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType648') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemsType648': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType648') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType648', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType648'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType648', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ImageItem_ in self.ImageItem: + namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' + ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageItem': + obj_ = ImageItemType649.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItem.append(obj_) + obj_.original_tagname_ = 'ImageItem' +# end class ImageItemsType648 + + +class ImageItemType649(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Category = _cast(int, Category) + self.Category_nsprefix_ = None + self.ImageFormat = ImageFormat + self.ImageFormat_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemType649) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemType649.subclass: + return ImageItemType649.subclass(*args_, **kwargs_) + else: + return ImageItemType649(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageFormat(self): + return self.ImageFormat + def set_ImageFormat(self, ImageFormat): + self.ImageFormat = ImageFormat + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Category(self): + return self.Category + def set_Category(self, Category): + self.Category = Category + def validate_CategoryType656(self, value): + # Validate type CategoryType656, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 2, 4, 12, 15, 22] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType656' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_CategoryType656_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType656_patterns_, )) + validate_CategoryType656_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.ImageFormat is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType649', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType649') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemType649': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType649') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType649', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType649'): + if self.Category is not None and 'Category' not in already_processed: + already_processed.add('Category') + outfile.write(' Category=%s' % (quote_attrib(self.Category), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType649', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ImageFormat is not None: + namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' + self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Category', node) + if value is not None and 'Category' not in already_processed: + already_processed.add('Category') + self.Category = self.gds_parse_integer(value, node, 'Category') + if self.Category <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_CategoryType656(self.Category) # validate type CategoryType656 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageFormat': + obj_ = ImageFormatType650.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageFormat = obj_ + obj_.original_tagname_ = 'ImageFormat' + elif nodeName_ == 'Description': + obj_ = DescriptionType653.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class ImageItemType649 + + +class ImageFormatType650(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + self.SourceID = _cast(None, SourceID) + self.SourceID_nsprefix_ = None + self.Title = _cast(None, Title) + self.Title_nsprefix_ = None + self.ApplicableStart = _cast(None, ApplicableStart) + self.ApplicableStart_nsprefix_ = None + self.ApplicableEnd = _cast(None, ApplicableEnd) + self.ApplicableEnd_nsprefix_ = None + self.URL = URL + self.validate_def_url_string(self.URL) + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageFormatType650) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageFormatType650.subclass: + return ImageFormatType650.subclass(*args_, **kwargs_) + else: + return ImageFormatType650(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def get_SourceID(self): + return self.SourceID + def set_SourceID(self, SourceID): + self.SourceID = SourceID + def get_Title(self): + return self.Title + def set_Title(self, Title): + self.Title = Title + def get_ApplicableStart(self): + return self.ApplicableStart + def set_ApplicableStart(self, ApplicableStart): + self.ApplicableStart = ApplicableStart + def get_ApplicableEnd(self): + return self.ApplicableEnd + def set_ApplicableEnd(self, ApplicableEnd): + self.ApplicableEnd = ApplicableEnd + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ApplicableStartType651(self, value): + # Validate type ApplicableStartType651, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ApplicableStartType651_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType651_patterns_, )) + validate_ApplicableStartType651_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] + def validate_ApplicableEndType652(self, value): + # Validate type ApplicableEndType652, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ApplicableEndType652_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableEndType652_patterns_, )) + validate_ApplicableEndType652_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] + def has__content(self): + if ( + self.URL is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType650', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType650') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageFormatType650': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType650') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType650', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType650'): + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + if self.SourceID is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) + if self.Title is not None and 'Title' not in already_processed: + already_processed.add('Title') + outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) + if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) + if self.ApplicableEnd is not None and 'ApplicableEnd' not in already_processed: + already_processed.add('ApplicableEnd') + outfile.write(' ApplicableEnd=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableEnd), input_name='ApplicableEnd')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType650', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.URL is not None: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + value = find_attr_value_('SourceID', node) + if value is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + self.SourceID = value + self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 + value = find_attr_value_('Title', node) + if value is not None and 'Title' not in already_processed: + already_processed.add('Title') + self.Title = value + self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 + value = find_attr_value_('ApplicableStart', node) + if value is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + self.ApplicableStart = value + self.validate_ApplicableStartType651(self.ApplicableStart) # validate type ApplicableStartType651 + value = find_attr_value_('ApplicableEnd', node) + if value is not None and 'ApplicableEnd' not in already_processed: + already_processed.add('ApplicableEnd') + self.ApplicableEnd = value + self.validate_ApplicableEndType652(self.ApplicableEnd) # validate type ApplicableEndType652 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL = value_ + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL) +# end class ImageFormatType650 + + +class DescriptionType653(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType653) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType653.subclass: + return DescriptionType653.subclass(*args_, **kwargs_) + else: + return DescriptionType653(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType654(self, value): + # Validate type TextFormatType654, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType654' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType655(self, value): + # Validate type LanguageType655, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType655_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType655_patterns_, )) + validate_LanguageType655_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType653', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType653') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType653': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType653') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType653'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType653', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType654(self.TextFormat) # validate type TextFormatType654 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType655(self.Language) # validate type LanguageType655 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType653 + + +class VideoItemsType657(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, VideoItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if VideoItem is None: + self.VideoItem = [] + else: + self.VideoItem = VideoItem + self.VideoItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VideoItemsType657) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VideoItemsType657.subclass: + return VideoItemsType657.subclass(*args_, **kwargs_) + else: + return VideoItemsType657(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_VideoItem(self): + return self.VideoItem + def set_VideoItem(self, VideoItem): + self.VideoItem = VideoItem + def add_VideoItem(self, value): + self.VideoItem.append(value) + def insert_VideoItem_at(self, index, value): + self.VideoItem.insert(index, value) + def replace_VideoItem_at(self, index, value): + self.VideoItem[index] = value + def has__content(self): + if ( + self.VideoItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType657', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemsType657') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VideoItemsType657': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemsType657') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemsType657', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemsType657'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType657', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for VideoItem_ in self.VideoItem: + namespaceprefix_ = self.VideoItem_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItem_nsprefix_) else '' + VideoItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'VideoItem': + obj_ = VideoItemType658.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VideoItem.append(obj_) + obj_.original_tagname_ = 'VideoItem' +# end class VideoItemsType657 + + +class VideoItemType658(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Category=None, VideoFormat=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Category = _cast(int, Category) + self.Category_nsprefix_ = None + self.VideoFormat = VideoFormat + self.VideoFormat_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VideoItemType658) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VideoItemType658.subclass: + return VideoItemType658.subclass(*args_, **kwargs_) + else: + return VideoItemType658(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_VideoFormat(self): + return self.VideoFormat + def set_VideoFormat(self, VideoFormat): + self.VideoFormat = VideoFormat + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Category(self): + return self.Category + def set_Category(self, Category): + self.Category = Category + def validate_CategoryType664(self, value): + # Validate type CategoryType664, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 2, 4, 12, 20, 22] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType664' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_CategoryType664_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType664_patterns_, )) + validate_CategoryType664_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.VideoFormat is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType658', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemType658') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VideoItemType658': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemType658') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemType658', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemType658'): + if self.Category is not None and 'Category' not in already_processed: + already_processed.add('Category') + outfile.write(' Category=%s' % (quote_attrib(self.Category), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType658', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.VideoFormat is not None: + namespaceprefix_ = self.VideoFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoFormat_nsprefix_) else '' + self.VideoFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoFormat', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Category', node) + if value is not None and 'Category' not in already_processed: + already_processed.add('Category') + self.Category = self.gds_parse_integer(value, node, 'Category') + if self.Category <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_CategoryType664(self.Category) # validate type CategoryType664 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'VideoFormat': + obj_ = VideoFormatType659.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VideoFormat = obj_ + obj_.original_tagname_ = 'VideoFormat' + elif nodeName_ == 'Description': + obj_ = DescriptionType661.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class VideoItemType658 + + +class VideoFormatType659(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + self.SourceID = _cast(None, SourceID) + self.SourceID_nsprefix_ = None + self.Title = _cast(None, Title) + self.Title_nsprefix_ = None + self.ApplicableStart = _cast(None, ApplicableStart) + self.ApplicableStart_nsprefix_ = None + self.URL = URL + self.validate_def_url_string(self.URL) + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, VideoFormatType659) + if subclass is not None: + return subclass(*args_, **kwargs_) + if VideoFormatType659.subclass: + return VideoFormatType659.subclass(*args_, **kwargs_) + else: + return VideoFormatType659(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def get_SourceID(self): + return self.SourceID + def set_SourceID(self, SourceID): + self.SourceID = SourceID + def get_Title(self): + return self.Title + def set_Title(self, Title): + self.Title = Title + def get_ApplicableStart(self): + return self.ApplicableStart + def set_ApplicableStart(self, ApplicableStart): + self.ApplicableStart = ApplicableStart + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to32(self, value): + # Validate type StringLength1to32, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 32: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ApplicableStartType660(self, value): + # Validate type ApplicableStartType660, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_ApplicableStartType660_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType660_patterns_, )) + validate_ApplicableStartType660_patterns_ = [['^([0-1][0-9]-[0-3][0-9])$']] + def has__content(self): + if ( + self.URL is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType659', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoFormatType659') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'VideoFormatType659': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoFormatType659') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoFormatType659', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoFormatType659'): + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + if self.SourceID is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) + if self.Title is not None and 'Title' not in already_processed: + already_processed.add('Title') + outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) + if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType659', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.URL is not None: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + value = find_attr_value_('SourceID', node) + if value is not None and 'SourceID' not in already_processed: + already_processed.add('SourceID') + self.SourceID = value + self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 + value = find_attr_value_('Title', node) + if value is not None and 'Title' not in already_processed: + already_processed.add('Title') + self.Title = value + self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 + value = find_attr_value_('ApplicableStart', node) + if value is not None and 'ApplicableStart' not in already_processed: + already_processed.add('ApplicableStart') + self.ApplicableStart = value + self.validate_ApplicableStartType660(self.ApplicableStart) # validate type ApplicableStartType660 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL = value_ + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL) +# end class VideoFormatType659 + + +class DescriptionType661(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType661) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType661.subclass: + return DescriptionType661.subclass(*args_, **kwargs_) + else: + return DescriptionType661(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType662(self, value): + # Validate type TextFormatType662, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType662' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType663(self, value): + # Validate type LanguageType663, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType663_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType663_patterns_, )) + validate_LanguageType663_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType661', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType661') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType661': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType661') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType661'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType661', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType662(self.TextFormat) # validate type TextFormatType662 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType663(self.Language) # validate type LanguageType663 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType661 + + +class PositionType666(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Altitude = _cast(float, Altitude) + self.Altitude_nsprefix_ = None + self.AltitudeUnitOfMeasureCode = _cast(None, AltitudeUnitOfMeasureCode) + self.AltitudeUnitOfMeasureCode_nsprefix_ = None + self.Latitude = _cast(float, Latitude) + self.Latitude_nsprefix_ = None + self.Longitude = _cast(float, Longitude) + self.Longitude_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PositionType666) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PositionType666.subclass: + return PositionType666.subclass(*args_, **kwargs_) + else: + return PositionType666(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Altitude(self): + return self.Altitude + def set_Altitude(self, Altitude): + self.Altitude = Altitude + def get_AltitudeUnitOfMeasureCode(self): + return self.AltitudeUnitOfMeasureCode + def set_AltitudeUnitOfMeasureCode(self, AltitudeUnitOfMeasureCode): + self.AltitudeUnitOfMeasureCode = AltitudeUnitOfMeasureCode + def get_Latitude(self): + return self.Latitude + def set_Latitude(self, Latitude): + self.Latitude = Latitude + def get_Longitude(self): + return self.Longitude + def set_Longitude(self, Longitude): + self.Longitude = Longitude + def validate_AltitudeUnitOfMeasureCodeType667(self, value): + # Validate type AltitudeUnitOfMeasureCodeType667, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['3'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AltitudeUnitOfMeasureCodeType667' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType666', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PositionType666') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PositionType666': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PositionType666') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PositionType666', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PositionType666'): + if self.Altitude is not None and 'Altitude' not in already_processed: + already_processed.add('Altitude') + outfile.write(' Altitude="%s"' % self.gds_format_decimal(self.Altitude, input_name='Altitude')) + if self.AltitudeUnitOfMeasureCode is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: + already_processed.add('AltitudeUnitOfMeasureCode') + outfile.write(' AltitudeUnitOfMeasureCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AltitudeUnitOfMeasureCode), input_name='AltitudeUnitOfMeasureCode')), )) + if self.Latitude is not None and 'Latitude' not in already_processed: + already_processed.add('Latitude') + outfile.write(' Latitude="%s"' % self.gds_format_decimal(self.Latitude, input_name='Latitude')) + if self.Longitude is not None and 'Longitude' not in already_processed: + already_processed.add('Longitude') + outfile.write(' Longitude="%s"' % self.gds_format_decimal(self.Longitude, input_name='Longitude')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType666', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Altitude', node) + if value is not None and 'Altitude' not in already_processed: + already_processed.add('Altitude') + value = self.gds_parse_decimal(value, node, 'Altitude') + self.Altitude = value + value = find_attr_value_('AltitudeUnitOfMeasureCode', node) + if value is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: + already_processed.add('AltitudeUnitOfMeasureCode') + self.AltitudeUnitOfMeasureCode = value + self.validate_AltitudeUnitOfMeasureCodeType667(self.AltitudeUnitOfMeasureCode) # validate type AltitudeUnitOfMeasureCodeType667 + value = find_attr_value_('Latitude', node) + if value is not None and 'Latitude' not in already_processed: + already_processed.add('Latitude') + value = self.gds_parse_decimal(value, node, 'Latitude') + self.Latitude = value + value = find_attr_value_('Longitude', node) + if value is not None and 'Longitude' not in already_processed: + already_processed.add('Longitude') + value = self.gds_parse_decimal(value, node, 'Longitude') + self.Longitude = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PositionType666 + + +class ServicesType668(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Service=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Service is None: + self.Service = [] + else: + self.Service = Service + self.Service_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServicesType668) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServicesType668.subclass: + return ServicesType668.subclass(*args_, **kwargs_) + else: + return ServicesType668(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Service(self): + return self.Service + def set_Service(self, Service): + self.Service = Service + def add_Service(self, value): + self.Service.append(value) + def insert_Service_at(self, index, value): + self.Service.insert(index, value) + def replace_Service_at(self, index, value): + self.Service[index] = value + def has__content(self): + if ( + self.Service + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType668', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType668') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServicesType668': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType668') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType668', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType668'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType668', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Service_ in self.Service: + namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' + Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Service': + obj_ = ServiceType669.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Service.append(obj_) + obj_.original_tagname_ = 'Service' +# end class ServicesType668 + + +class ServiceType669(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.MealPlanCode = _cast(None, MealPlanCode) + self.MealPlanCode_nsprefix_ = None + self.ProximityCode = _cast(int, ProximityCode) + self.ProximityCode_nsprefix_ = None + self.Included = _cast(bool, Included) + self.Included_nsprefix_ = None + self.Features = Features + self.Features_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ServiceType669) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ServiceType669.subclass: + return ServiceType669.subclass(*args_, **kwargs_) + else: + return ServiceType669(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Features(self): + return self.Features + def set_Features(self, Features): + self.Features = Features + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_MealPlanCode(self): + return self.MealPlanCode + def set_MealPlanCode(self, MealPlanCode): + self.MealPlanCode = MealPlanCode + def get_ProximityCode(self): + return self.ProximityCode + def set_ProximityCode(self, ProximityCode): + self.ProximityCode = ProximityCode + def get_Included(self): + return self.Included + def set_Included(self, Included): + self.Included = Included + def validate_def_alpinebits_code(self, value): + # Validate type def_alpinebits_code, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_alpinebits_code_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) + validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] + def validate_MealPlanCodeType672(self, value): + # Validate type MealPlanCodeType672, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['12'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodeType672' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.Features is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType669', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType669') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ServiceType669': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType669') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType669', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType669'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.MealPlanCode is not None and 'MealPlanCode' not in already_processed: + already_processed.add('MealPlanCode') + outfile.write(' MealPlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCode), input_name='MealPlanCode')), )) + if self.ProximityCode is not None and 'ProximityCode' not in already_processed: + already_processed.add('ProximityCode') + outfile.write(' ProximityCode="%s"' % self.gds_format_integer(self.ProximityCode, input_name='ProximityCode')) + if self.Included is not None and 'Included' not in already_processed: + already_processed.add('Included') + outfile.write(' Included="%s"' % self.gds_format_boolean(self.Included, input_name='Included')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType669', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Features is not None: + namespaceprefix_ = self.Features_nsprefix_ + ':' if (UseCapturedNS_ and self.Features_nsprefix_) else '' + self.Features.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Features', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_alpinebits_code(self.Code) # validate type def_alpinebits_code + value = find_attr_value_('MealPlanCode', node) + if value is not None and 'MealPlanCode' not in already_processed: + already_processed.add('MealPlanCode') + self.MealPlanCode = value + self.validate_MealPlanCodeType672(self.MealPlanCode) # validate type MealPlanCodeType672 + value = find_attr_value_('ProximityCode', node) + if value is not None and 'ProximityCode' not in already_processed: + already_processed.add('ProximityCode') + self.ProximityCode = self.gds_parse_integer(value, node, 'ProximityCode') + if self.ProximityCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.ProximityCode) # validate type def_int_gt0 + value = find_attr_value_('Included', node) + if value is not None and 'Included' not in already_processed: + already_processed.add('Included') + if value in ('true', '1'): + self.Included = True + elif value in ('false', '0'): + self.Included = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Included) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Features': + obj_ = FeaturesType670.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Features = obj_ + obj_.original_tagname_ = 'Features' +# end class ServiceType669 + + +class FeaturesType670(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Feature=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Feature is None: + self.Feature = [] + else: + self.Feature = Feature + self.Feature_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, FeaturesType670) + if subclass is not None: + return subclass(*args_, **kwargs_) + if FeaturesType670.subclass: + return FeaturesType670.subclass(*args_, **kwargs_) + else: + return FeaturesType670(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Feature(self): + return self.Feature + def set_Feature(self, Feature): + self.Feature = Feature + def add_Feature(self, value): + self.Feature.append(value) + def insert_Feature_at(self, index, value): + self.Feature.insert(index, value) + def replace_Feature_at(self, index, value): + self.Feature[index] = value + def has__content(self): + if ( + self.Feature + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType670', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeaturesType670') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'FeaturesType670': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeaturesType670') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeaturesType670', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeaturesType670'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType670', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Feature_ in self.Feature: + namespaceprefix_ = self.Feature_nsprefix_ + ':' if (UseCapturedNS_ and self.Feature_nsprefix_) else '' + Feature_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Feature', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Feature': + obj_ = FeatureType671.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Feature.append(obj_) + obj_.original_tagname_ = 'Feature' +# end class FeaturesType670 + + +class FeatureType671(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AccessibleCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AccessibleCode = _cast(int, AccessibleCode) + self.AccessibleCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, FeatureType671) + if subclass is not None: + return subclass(*args_, **kwargs_) + if FeatureType671.subclass: + return FeatureType671.subclass(*args_, **kwargs_) + else: + return FeatureType671(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AccessibleCode(self): + return self.AccessibleCode + def set_AccessibleCode(self, AccessibleCode): + self.AccessibleCode = AccessibleCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType671', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeatureType671') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'FeatureType671': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeatureType671') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeatureType671', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeatureType671'): + if self.AccessibleCode is not None and 'AccessibleCode' not in already_processed: + already_processed.add('AccessibleCode') + outfile.write(' AccessibleCode="%s"' % self.gds_format_integer(self.AccessibleCode, input_name='AccessibleCode')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType671', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AccessibleCode', node) + if value is not None and 'AccessibleCode' not in already_processed: + already_processed.add('AccessibleCode') + self.AccessibleCode = self.gds_parse_integer(value, node, 'AccessibleCode') + if self.AccessibleCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AccessibleCode) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class FeatureType671 + + +class FacilityInfoType673(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestRooms=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuestRooms = GuestRooms + self.GuestRooms_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, FacilityInfoType673) + if subclass is not None: + return subclass(*args_, **kwargs_) + if FacilityInfoType673.subclass: + return FacilityInfoType673.subclass(*args_, **kwargs_) + else: + return FacilityInfoType673(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestRooms(self): + return self.GuestRooms + def set_GuestRooms(self, GuestRooms): + self.GuestRooms = GuestRooms + def has__content(self): + if ( + self.GuestRooms is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType673', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('FacilityInfoType673') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'FacilityInfoType673': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FacilityInfoType673') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FacilityInfoType673', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FacilityInfoType673'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType673', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuestRooms is not None: + namespaceprefix_ = self.GuestRooms_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRooms_nsprefix_) else '' + self.GuestRooms.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRooms', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestRooms': + obj_ = GuestRoomsType674.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestRooms = obj_ + obj_.original_tagname_ = 'GuestRooms' +# end class FacilityInfoType673 + + +class GuestRoomsType674(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuestRoom=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if GuestRoom is None: + self.GuestRoom = [] + else: + self.GuestRoom = GuestRoom + self.GuestRoom_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestRoomsType674) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestRoomsType674.subclass: + return GuestRoomsType674.subclass(*args_, **kwargs_) + else: + return GuestRoomsType674(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuestRoom(self): + return self.GuestRoom + def set_GuestRoom(self, GuestRoom): + self.GuestRoom = GuestRoom + def add_GuestRoom(self, value): + self.GuestRoom.append(value) + def insert_GuestRoom_at(self, index, value): + self.GuestRoom.insert(index, value) + def replace_GuestRoom_at(self, index, value): + self.GuestRoom[index] = value + def has__content(self): + if ( + self.GuestRoom + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType674', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomsType674') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestRoomsType674': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomsType674') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomsType674', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomsType674'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType674', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for GuestRoom_ in self.GuestRoom: + namespaceprefix_ = self.GuestRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRoom_nsprefix_) else '' + GuestRoom_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRoom', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuestRoom': + obj_ = GuestRoomType675.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuestRoom.append(obj_) + obj_.original_tagname_ = 'GuestRoom' +# end class GuestRoomsType674 + + +class GuestRoomType675(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.MaxOccupancy = _cast(int, MaxOccupancy) + self.MaxOccupancy_nsprefix_ = None + self.MinOccupancy = _cast(int, MinOccupancy) + self.MinOccupancy_nsprefix_ = None + self.MaxChildOccupancy = _cast(int, MaxChildOccupancy) + self.MaxChildOccupancy_nsprefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.TypeRoom = TypeRoom + self.TypeRoom_nsprefix_ = None + self.Amenities = Amenities + self.Amenities_nsprefix_ = None + self.MultimediaDescriptions = MultimediaDescriptions + self.MultimediaDescriptions_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestRoomType675) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestRoomType675.subclass: + return GuestRoomType675.subclass(*args_, **kwargs_) + else: + return GuestRoomType675(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TypeRoom(self): + return self.TypeRoom + def set_TypeRoom(self, TypeRoom): + self.TypeRoom = TypeRoom + def get_Amenities(self): + return self.Amenities + def set_Amenities(self, Amenities): + self.Amenities = Amenities + def get_MultimediaDescriptions(self): + return self.MultimediaDescriptions + def set_MultimediaDescriptions(self, MultimediaDescriptions): + self.MultimediaDescriptions = MultimediaDescriptions + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_MaxOccupancy(self): + return self.MaxOccupancy + def set_MaxOccupancy(self, MaxOccupancy): + self.MaxOccupancy = MaxOccupancy + def get_MinOccupancy(self): + return self.MinOccupancy + def set_MinOccupancy(self, MinOccupancy): + self.MinOccupancy = MinOccupancy + def get_MaxChildOccupancy(self): + return self.MaxChildOccupancy + def set_MaxChildOccupancy(self, MaxChildOccupancy): + self.MaxChildOccupancy = MaxChildOccupancy + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.TypeRoom is not None or + self.Amenities is not None or + self.MultimediaDescriptions is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType675', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomType675') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestRoomType675': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomType675') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomType675', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomType675'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) + if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) + if self.MaxChildOccupancy is not None and 'MaxChildOccupancy' not in already_processed: + already_processed.add('MaxChildOccupancy') + outfile.write(' MaxChildOccupancy="%s"' % self.gds_format_integer(self.MaxChildOccupancy, input_name='MaxChildOccupancy')) + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType675', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TypeRoom is not None: + namespaceprefix_ = self.TypeRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.TypeRoom_nsprefix_) else '' + self.TypeRoom.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TypeRoom', pretty_print=pretty_print) + if self.Amenities is not None: + namespaceprefix_ = self.Amenities_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenities_nsprefix_) else '' + self.Amenities.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenities', pretty_print=pretty_print) + if self.MultimediaDescriptions is not None: + namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' + self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string + value = find_attr_value_('MaxOccupancy', node) + if value is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') + if self.MaxOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 + value = find_attr_value_('MinOccupancy', node) + if value is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') + if self.MinOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinOccupancy) # validate type def_int_gt0 + value = find_attr_value_('MaxChildOccupancy', node) + if value is not None and 'MaxChildOccupancy' not in already_processed: + already_processed.add('MaxChildOccupancy') + self.MaxChildOccupancy = self.gds_parse_integer(value, node, 'MaxChildOccupancy') + if self.MaxChildOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxChildOccupancy) # validate type def_int_gt0 + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_def_invTypeCode_string(self.ID) # validate type def_invTypeCode_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TypeRoom': + obj_ = TypeRoomType676.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TypeRoom = obj_ + obj_.original_tagname_ = 'TypeRoom' + elif nodeName_ == 'Amenities': + obj_ = AmenitiesType678.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Amenities = obj_ + obj_.original_tagname_ = 'Amenities' + elif nodeName_ == 'MultimediaDescriptions': + obj_ = MultimediaDescriptionsType680.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescriptions = obj_ + obj_.original_tagname_ = 'MultimediaDescriptions' +# end class GuestRoomType675 + + +class TypeRoomType676(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.StandardOccupancy = _cast(int, StandardOccupancy) + self.StandardOccupancy_nsprefix_ = None + self.RoomClassificationCode = _cast(int, RoomClassificationCode) + self.RoomClassificationCode_nsprefix_ = None + self.RoomID = _cast(None, RoomID) + self.RoomID_nsprefix_ = None + self.Size = _cast(int, Size) + self.Size_nsprefix_ = None + self.RoomType = _cast(None, RoomType) + self.RoomType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TypeRoomType676) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TypeRoomType676.subclass: + return TypeRoomType676.subclass(*args_, **kwargs_) + else: + return TypeRoomType676(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StandardOccupancy(self): + return self.StandardOccupancy + def set_StandardOccupancy(self, StandardOccupancy): + self.StandardOccupancy = StandardOccupancy + def get_RoomClassificationCode(self): + return self.RoomClassificationCode + def set_RoomClassificationCode(self, RoomClassificationCode): + self.RoomClassificationCode = RoomClassificationCode + def get_RoomID(self): + return self.RoomID + def set_RoomID(self, RoomID): + self.RoomID = RoomID + def get_Size(self): + return self.Size + def set_Size(self, Size): + self.Size = Size + def get_RoomType(self): + return self.RoomType + def set_RoomType(self, RoomType): + self.RoomType = RoomType + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_RoomTypeType677(self, value): + # Validate type RoomTypeType677, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType677' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType676', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TypeRoomType676') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TypeRoomType676': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TypeRoomType676') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TypeRoomType676', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TypeRoomType676'): + if self.StandardOccupancy is not None and 'StandardOccupancy' not in already_processed: + already_processed.add('StandardOccupancy') + outfile.write(' StandardOccupancy="%s"' % self.gds_format_integer(self.StandardOccupancy, input_name='StandardOccupancy')) + if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) + if self.RoomID is not None and 'RoomID' not in already_processed: + already_processed.add('RoomID') + outfile.write(' RoomID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomID), input_name='RoomID')), )) + if self.Size is not None and 'Size' not in already_processed: + already_processed.add('Size') + outfile.write(' Size="%s"' % self.gds_format_integer(self.Size, input_name='Size')) + if self.RoomType is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType676', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('StandardOccupancy', node) + if value is not None and 'StandardOccupancy' not in already_processed: + already_processed.add('StandardOccupancy') + self.StandardOccupancy = self.gds_parse_integer(value, node, 'StandardOccupancy') + if self.StandardOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.StandardOccupancy) # validate type def_int_gt0 + value = find_attr_value_('RoomClassificationCode', node) + if value is not None and 'RoomClassificationCode' not in already_processed: + already_processed.add('RoomClassificationCode') + self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') + if self.RoomClassificationCode < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 + value = find_attr_value_('RoomID', node) + if value is not None and 'RoomID' not in already_processed: + already_processed.add('RoomID') + self.RoomID = value + self.validate_StringLength1to16(self.RoomID) # validate type StringLength1to16 + value = find_attr_value_('Size', node) + if value is not None and 'Size' not in already_processed: + already_processed.add('Size') + self.Size = self.gds_parse_integer(value, node, 'Size') + if self.Size < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.Size) # validate type def_int_ge0 + value = find_attr_value_('RoomType', node) + if value is not None and 'RoomType' not in already_processed: + already_processed.add('RoomType') + self.RoomType = value + self.validate_RoomTypeType677(self.RoomType) # validate type RoomTypeType677 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TypeRoomType676 + + +class AmenitiesType678(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amenity=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Amenity is None: + self.Amenity = [] + else: + self.Amenity = Amenity + self.Amenity_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmenitiesType678) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmenitiesType678.subclass: + return AmenitiesType678.subclass(*args_, **kwargs_) + else: + return AmenitiesType678(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amenity(self): + return self.Amenity + def set_Amenity(self, Amenity): + self.Amenity = Amenity + def add_Amenity(self, value): + self.Amenity.append(value) + def insert_Amenity_at(self, index, value): + self.Amenity.insert(index, value) + def replace_Amenity_at(self, index, value): + self.Amenity[index] = value + def has__content(self): + if ( + self.Amenity + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType678', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenitiesType678') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmenitiesType678': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenitiesType678') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenitiesType678', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenitiesType678'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType678', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Amenity_ in self.Amenity: + namespaceprefix_ = self.Amenity_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenity_nsprefix_) else '' + Amenity_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenity', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Amenity': + obj_ = AmenityType679.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Amenity.append(obj_) + obj_.original_tagname_ = 'Amenity' +# end class AmenitiesType678 + + +class AmenityType679(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RoomAmenityCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RoomAmenityCode = _cast(None, RoomAmenityCode) + self.RoomAmenityCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmenityType679) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmenityType679.subclass: + return AmenityType679.subclass(*args_, **kwargs_) + else: + return AmenityType679(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RoomAmenityCode(self): + return self.RoomAmenityCode + def set_RoomAmenityCode(self, RoomAmenityCode): + self.RoomAmenityCode = RoomAmenityCode + def validate_def_alpinebits_code(self, value): + # Validate type def_alpinebits_code, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_alpinebits_code_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) + validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType679', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenityType679') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmenityType679': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenityType679') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenityType679', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenityType679'): + if self.RoomAmenityCode is not None and 'RoomAmenityCode' not in already_processed: + already_processed.add('RoomAmenityCode') + outfile.write(' RoomAmenityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomAmenityCode), input_name='RoomAmenityCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType679', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('RoomAmenityCode', node) + if value is not None and 'RoomAmenityCode' not in already_processed: + already_processed.add('RoomAmenityCode') + self.RoomAmenityCode = value + self.validate_def_alpinebits_code(self.RoomAmenityCode) # validate type def_alpinebits_code + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AmenityType679 + + +class MultimediaDescriptionsType680(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if MultimediaDescription is None: + self.MultimediaDescription = [] + else: + self.MultimediaDescription = MultimediaDescription + self.MultimediaDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionsType680) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionsType680.subclass: + return MultimediaDescriptionsType680.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionsType680(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MultimediaDescription(self): + return self.MultimediaDescription + def set_MultimediaDescription(self, MultimediaDescription): + self.MultimediaDescription = MultimediaDescription + def add_MultimediaDescription(self, value): + self.MultimediaDescription.append(value) + def insert_MultimediaDescription_at(self, index, value): + self.MultimediaDescription.insert(index, value) + def replace_MultimediaDescription_at(self, index, value): + self.MultimediaDescription[index] = value + def has__content(self): + if ( + self.MultimediaDescription + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType680', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType680') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType680': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType680') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType680', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType680'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType680', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for MultimediaDescription_ in self.MultimediaDescription: + namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' + MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'MultimediaDescription': + obj_ = MultimediaDescriptionType681.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MultimediaDescription.append(obj_) + obj_.original_tagname_ = 'MultimediaDescription' +# end class MultimediaDescriptionsType680 + + +class MultimediaDescriptionType681(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.InfoCode = _cast(int, InfoCode) + self.InfoCode_nsprefix_ = None + self.TextItems = TextItems + self.TextItems_nsprefix_ = None + self.ImageItems = ImageItems + self.ImageItems_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MultimediaDescriptionType681) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MultimediaDescriptionType681.subclass: + return MultimediaDescriptionType681.subclass(*args_, **kwargs_) + else: + return MultimediaDescriptionType681(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItems(self): + return self.TextItems + def set_TextItems(self, TextItems): + self.TextItems = TextItems + def get_ImageItems(self): + return self.ImageItems + def set_ImageItems(self, ImageItems): + self.ImageItems = ImageItems + def get_InfoCode(self): + return self.InfoCode + def set_InfoCode(self, InfoCode): + self.InfoCode = InfoCode + def validate_InfoCodeType693(self, value): + # Validate type InfoCodeType693, a restriction on def_int_gt0. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = [1, 23, 25] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType693' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_InfoCodeType693_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType693_patterns_, )) + validate_InfoCodeType693_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.TextItems is not None or + self.ImageItems is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType681', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType681') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType681': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType681') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType681', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType681'): + if self.InfoCode is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType681', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TextItems is not None: + namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' + self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) + if self.ImageItems is not None: + namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' + self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('InfoCode', node) + if value is not None and 'InfoCode' not in already_processed: + already_processed.add('InfoCode') + self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') + if self.InfoCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_InfoCodeType693(self.InfoCode) # validate type InfoCodeType693 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItems': + obj_ = TextItemsType682.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItems = obj_ + obj_.original_tagname_ = 'TextItems' + elif nodeName_ == 'ImageItems': + obj_ = ImageItemsType687.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItems = obj_ + obj_.original_tagname_ = 'ImageItems' +# end class MultimediaDescriptionType681 + + +class TextItemsType682(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextItem = TextItem + self.TextItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemsType682) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemsType682.subclass: + return TextItemsType682.subclass(*args_, **kwargs_) + else: + return TextItemsType682(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextItem(self): + return self.TextItem + def set_TextItem(self, TextItem): + self.TextItem = TextItem + def has__content(self): + if ( + self.TextItem is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType682', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType682') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemsType682': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType682') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType682', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType682'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType682', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TextItem is not None: + namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' + self.TextItem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TextItem': + obj_ = TextItemType683.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TextItem = obj_ + obj_.original_tagname_ = 'TextItem' +# end class TextItemsType682 + + +class TextItemType683(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextItemType683) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextItemType683.subclass: + return TextItemType683.subclass(*args_, **kwargs_) + else: + return TextItemType683(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def has__content(self): + if ( + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType683', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType683') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextItemType683': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType683') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType683', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType683'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType683', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType684.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class TextItemType683 + + +class DescriptionType684(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType684) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType684.subclass: + return DescriptionType684.subclass(*args_, **kwargs_) + else: + return DescriptionType684(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType685(self, value): + # Validate type TextFormatType685, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType685' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType686(self, value): + # Validate type LanguageType686, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType686_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType686_patterns_, )) + validate_LanguageType686_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType684', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType684') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType684': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType684') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType684'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType684', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType685(self.TextFormat) # validate type TextFormatType685 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType686(self.Language) # validate type LanguageType686 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType684 + + +class ImageItemsType687(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if ImageItem is None: + self.ImageItem = [] + else: + self.ImageItem = ImageItem + self.ImageItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemsType687) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemsType687.subclass: + return ImageItemsType687.subclass(*args_, **kwargs_) + else: + return ImageItemsType687(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageItem(self): + return self.ImageItem + def set_ImageItem(self, ImageItem): + self.ImageItem = ImageItem + def add_ImageItem(self, value): + self.ImageItem.append(value) + def insert_ImageItem_at(self, index, value): + self.ImageItem.insert(index, value) + def replace_ImageItem_at(self, index, value): + self.ImageItem[index] = value + def has__content(self): + if ( + self.ImageItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType687', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType687') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemsType687': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType687') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType687', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType687'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType687', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ImageItem_ in self.ImageItem: + namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' + ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageItem': + obj_ = ImageItemType688.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageItem.append(obj_) + obj_.original_tagname_ = 'ImageItem' +# end class ImageItemsType687 + + +class ImageItemType688(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Category = _cast(int, Category) + self.Category_nsprefix_ = None + self.ImageFormat = ImageFormat + self.ImageFormat_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageItemType688) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageItemType688.subclass: + return ImageItemType688.subclass(*args_, **kwargs_) + else: + return ImageItemType688(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ImageFormat(self): + return self.ImageFormat + def set_ImageFormat(self, ImageFormat): + self.ImageFormat = ImageFormat + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Category(self): + return self.Category + def set_Category(self, Category): + self.Category = Category + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.ImageFormat is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType688', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType688') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageItemType688': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType688') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType688', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType688'): + if self.Category is not None and 'Category' not in already_processed: + already_processed.add('Category') + outfile.write(' Category="%s"' % self.gds_format_integer(self.Category, input_name='Category')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType688', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ImageFormat is not None: + namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' + self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Category', node) + if value is not None and 'Category' not in already_processed: + already_processed.add('Category') + self.Category = self.gds_parse_integer(value, node, 'Category') + if self.Category <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Category) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ImageFormat': + obj_ = ImageFormatType689.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ImageFormat = obj_ + obj_.original_tagname_ = 'ImageFormat' + elif nodeName_ == 'Description': + obj_ = DescriptionType690.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class ImageItemType688 + + +class ImageFormatType689(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CopyrightNotice=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CopyrightNotice = _cast(None, CopyrightNotice) + self.CopyrightNotice_nsprefix_ = None + self.URL = URL + self.validate_def_url_string(self.URL) + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ImageFormatType689) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ImageFormatType689.subclass: + return ImageFormatType689.subclass(*args_, **kwargs_) + else: + return ImageFormatType689(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def get_CopyrightNotice(self): + return self.CopyrightNotice + def set_CopyrightNotice(self, CopyrightNotice): + self.CopyrightNotice = CopyrightNotice + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.URL is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType689', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType689') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ImageFormatType689': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType689') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType689', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType689'): + if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType689', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.URL is not None: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CopyrightNotice', node) + if value is not None and 'CopyrightNotice' not in already_processed: + already_processed.add('CopyrightNotice') + self.CopyrightNotice = value + self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL = value_ + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL) +# end class ImageFormatType689 + + +class DescriptionType690(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType690) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType690.subclass: + return DescriptionType690.subclass(*args_, **kwargs_) + else: + return DescriptionType690(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType691(self, value): + # Validate type TextFormatType691, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType691' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType692(self, value): + # Validate type LanguageType692, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType692_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType692_patterns_, )) + validate_LanguageType692_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType690', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType690') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType690': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType690') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType690'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType690', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType691(self.TextFormat) # validate type TextFormatType691 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType692(self.Language) # validate type LanguageType692 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DescriptionType690 + + +class PoliciesType694(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Policy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Policy is None: + self.Policy = [] + else: + self.Policy = Policy + self.Policy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PoliciesType694) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PoliciesType694.subclass: + return PoliciesType694.subclass(*args_, **kwargs_) + else: + return PoliciesType694(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Policy(self): + return self.Policy + def set_Policy(self, Policy): + self.Policy = Policy + def add_Policy(self, value): + self.Policy.append(value) + def insert_Policy_at(self, index, value): + self.Policy.insert(index, value) + def replace_Policy_at(self, index, value): + self.Policy[index] = value + def has__content(self): + if ( + self.Policy + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType694', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PoliciesType694') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PoliciesType694': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PoliciesType694') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PoliciesType694', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PoliciesType694'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType694', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Policy_ in self.Policy: + namespaceprefix_ = self.Policy_nsprefix_ + ':' if (UseCapturedNS_ and self.Policy_nsprefix_) else '' + Policy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Policy': + obj_ = PolicyType695.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Policy.append(obj_) + obj_.original_tagname_ = 'Policy' +# end class PoliciesType694 + + +class PolicyType695(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CancelPolicy = CancelPolicy + self.CancelPolicy_nsprefix_ = None + self.CheckoutCharges = CheckoutCharges + self.CheckoutCharges_nsprefix_ = None + self.PetsPolicies = PetsPolicies + self.PetsPolicies_nsprefix_ = None + self.TaxPolicies = TaxPolicies + self.TaxPolicies_nsprefix_ = None + self.GuaranteePaymentPolicy = GuaranteePaymentPolicy + self.GuaranteePaymentPolicy_nsprefix_ = None + self.PolicyInfo = PolicyInfo + self.PolicyInfo_nsprefix_ = None + self.StayRequirements = StayRequirements + self.StayRequirements_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PolicyType695) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PolicyType695.subclass: + return PolicyType695.subclass(*args_, **kwargs_) + else: + return PolicyType695(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CancelPolicy(self): + return self.CancelPolicy + def set_CancelPolicy(self, CancelPolicy): + self.CancelPolicy = CancelPolicy + def get_CheckoutCharges(self): + return self.CheckoutCharges + def set_CheckoutCharges(self, CheckoutCharges): + self.CheckoutCharges = CheckoutCharges + def get_PetsPolicies(self): + return self.PetsPolicies + def set_PetsPolicies(self, PetsPolicies): + self.PetsPolicies = PetsPolicies + def get_TaxPolicies(self): + return self.TaxPolicies + def set_TaxPolicies(self, TaxPolicies): + self.TaxPolicies = TaxPolicies + def get_GuaranteePaymentPolicy(self): + return self.GuaranteePaymentPolicy + def set_GuaranteePaymentPolicy(self, GuaranteePaymentPolicy): + self.GuaranteePaymentPolicy = GuaranteePaymentPolicy + def get_PolicyInfo(self): + return self.PolicyInfo + def set_PolicyInfo(self, PolicyInfo): + self.PolicyInfo = PolicyInfo + def get_StayRequirements(self): + return self.StayRequirements + def set_StayRequirements(self, StayRequirements): + self.StayRequirements = StayRequirements + def has__content(self): + if ( + self.CancelPolicy is not None or + self.CheckoutCharges is not None or + self.PetsPolicies is not None or + self.TaxPolicies is not None or + self.GuaranteePaymentPolicy is not None or + self.PolicyInfo is not None or + self.StayRequirements is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType695', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyType695') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PolicyType695': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyType695') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyType695', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyType695'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType695', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CancelPolicy is not None: + namespaceprefix_ = self.CancelPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPolicy_nsprefix_) else '' + self.CancelPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPolicy', pretty_print=pretty_print) + if self.CheckoutCharges is not None: + namespaceprefix_ = self.CheckoutCharges_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharges_nsprefix_) else '' + self.CheckoutCharges.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharges', pretty_print=pretty_print) + if self.PetsPolicies is not None: + namespaceprefix_ = self.PetsPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicies_nsprefix_) else '' + self.PetsPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicies', pretty_print=pretty_print) + if self.TaxPolicies is not None: + namespaceprefix_ = self.TaxPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicies_nsprefix_) else '' + self.TaxPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicies', pretty_print=pretty_print) + if self.GuaranteePaymentPolicy is not None: + namespaceprefix_ = self.GuaranteePaymentPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePaymentPolicy_nsprefix_) else '' + self.GuaranteePaymentPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePaymentPolicy', pretty_print=pretty_print) + if self.PolicyInfo is not None: + namespaceprefix_ = self.PolicyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.PolicyInfo_nsprefix_) else '' + self.PolicyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PolicyInfo', pretty_print=pretty_print) + if self.StayRequirements is not None: + namespaceprefix_ = self.StayRequirements_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirements_nsprefix_) else '' + self.StayRequirements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirements', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CancelPolicy': + obj_ = CancelPolicyType696.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPolicy = obj_ + obj_.original_tagname_ = 'CancelPolicy' + elif nodeName_ == 'CheckoutCharges': + obj_ = CheckoutChargesType702.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CheckoutCharges = obj_ + obj_.original_tagname_ = 'CheckoutCharges' + elif nodeName_ == 'PetsPolicies': + obj_ = PetsPoliciesType708.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PetsPolicies = obj_ + obj_.original_tagname_ = 'PetsPolicies' + elif nodeName_ == 'TaxPolicies': + obj_ = TaxPoliciesType714.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TaxPolicies = obj_ + obj_.original_tagname_ = 'TaxPolicies' + elif nodeName_ == 'GuaranteePaymentPolicy': + obj_ = GuaranteePaymentPolicyType723.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteePaymentPolicy = obj_ + obj_.original_tagname_ = 'GuaranteePaymentPolicy' + elif nodeName_ == 'PolicyInfo': + obj_ = PolicyInfoType738.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PolicyInfo = obj_ + obj_.original_tagname_ = 'PolicyInfo' + elif nodeName_ == 'StayRequirements': + obj_ = StayRequirementsType739.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StayRequirements = obj_ + obj_.original_tagname_ = 'StayRequirements' +# end class PolicyType695 + + +class CancelPolicyType696(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CancelPenalty = CancelPenalty + self.CancelPenalty_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPolicyType696) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPolicyType696.subclass: + return CancelPolicyType696.subclass(*args_, **kwargs_) + else: + return CancelPolicyType696(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CancelPenalty(self): + return self.CancelPenalty + def set_CancelPenalty(self, CancelPenalty): + self.CancelPenalty = CancelPenalty + def has__content(self): + if ( + self.CancelPenalty is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType696', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPolicyType696') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPolicyType696': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPolicyType696') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPolicyType696', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPolicyType696'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType696', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CancelPenalty is not None: + namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' + self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CancelPenalty': + obj_ = CancelPenaltyType697.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CancelPenalty = obj_ + obj_.original_tagname_ = 'CancelPenalty' +# end class CancelPolicyType696 + + +class CancelPenaltyType697(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PenaltyDescription = PenaltyDescription + self.PenaltyDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CancelPenaltyType697) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CancelPenaltyType697.subclass: + return CancelPenaltyType697.subclass(*args_, **kwargs_) + else: + return CancelPenaltyType697(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PenaltyDescription(self): + return self.PenaltyDescription + def set_PenaltyDescription(self, PenaltyDescription): + self.PenaltyDescription = PenaltyDescription + def has__content(self): + if ( + self.PenaltyDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType697', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType697') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CancelPenaltyType697': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType697') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType697', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType697'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType697', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PenaltyDescription is not None: + namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' + self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PenaltyDescription': + obj_ = PenaltyDescriptionType698.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PenaltyDescription = obj_ + obj_.original_tagname_ = 'PenaltyDescription' +# end class CancelPenaltyType697 + + +class PenaltyDescriptionType698(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PenaltyDescriptionType698) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PenaltyDescriptionType698.subclass: + return PenaltyDescriptionType698.subclass(*args_, **kwargs_) + else: + return PenaltyDescriptionType698(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType698', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType698') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType698': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType698') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType698', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType698'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType698', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType699.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class PenaltyDescriptionType698 + + +class TextType699(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType699) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType699.subclass: + return TextType699.subclass(*args_, **kwargs_) + else: + return TextType699(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType700(self, value): + # Validate type TextFormatType700, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType700' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType701(self, value): + # Validate type LanguageType701, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType701_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType701_patterns_, )) + validate_LanguageType701_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType699', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType699') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType699': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType699') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType699'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType699', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType700(self.TextFormat) # validate type TextFormatType700 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType701(self.Language) # validate type LanguageType701 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType699 + + +class CheckoutChargesType702(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CheckoutCharge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CheckoutCharge = CheckoutCharge + self.CheckoutCharge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CheckoutChargesType702) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CheckoutChargesType702.subclass: + return CheckoutChargesType702.subclass(*args_, **kwargs_) + else: + return CheckoutChargesType702(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CheckoutCharge(self): + return self.CheckoutCharge + def set_CheckoutCharge(self, CheckoutCharge): + self.CheckoutCharge = CheckoutCharge + def has__content(self): + if ( + self.CheckoutCharge is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType702', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargesType702') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CheckoutChargesType702': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargesType702') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargesType702', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargesType702'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType702', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CheckoutCharge is not None: + namespaceprefix_ = self.CheckoutCharge_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharge_nsprefix_) else '' + self.CheckoutCharge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharge', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CheckoutCharge': + obj_ = CheckoutChargeType703.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CheckoutCharge = obj_ + obj_.original_tagname_ = 'CheckoutCharge' +# end class CheckoutChargesType702 + + +class CheckoutChargeType703(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.DecimalPlaces = _cast(int, DecimalPlaces) + self.DecimalPlaces_nsprefix_ = None + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CheckoutChargeType703) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CheckoutChargeType703.subclass: + return CheckoutChargeType703.subclass(*args_, **kwargs_) + else: + return CheckoutChargeType703(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_DecimalPlaces(self): + return self.DecimalPlaces + def set_DecimalPlaces(self, DecimalPlaces): + self.DecimalPlaces = DecimalPlaces + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + self.Description is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType703', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargeType703') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CheckoutChargeType703': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargeType703') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargeType703', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargeType703'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType703', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Description is not None: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('DecimalPlaces', node) + if value is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') + if self.DecimalPlaces <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType704.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description = obj_ + obj_.original_tagname_ = 'Description' +# end class CheckoutChargeType703 + + +class DescriptionType704(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType704) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType704.subclass: + return DescriptionType704.subclass(*args_, **kwargs_) + else: + return DescriptionType704(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType704', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType704') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType704': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType704') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType704', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType704'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType704', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType705.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class DescriptionType704 + + +class TextType705(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType705) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType705.subclass: + return TextType705.subclass(*args_, **kwargs_) + else: + return TextType705(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType706(self, value): + # Validate type TextFormatType706, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType706' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType707(self, value): + # Validate type LanguageType707, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType707_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType707_patterns_, )) + validate_LanguageType707_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType705', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType705') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType705': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType705') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType705'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType705', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType706(self.TextFormat) # validate type TextFormatType706 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType707(self.Language) # validate type LanguageType707 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType705 + + +class PetsPoliciesType708(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PetsPolicy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PetsPolicy = PetsPolicy + self.PetsPolicy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PetsPoliciesType708) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PetsPoliciesType708.subclass: + return PetsPoliciesType708.subclass(*args_, **kwargs_) + else: + return PetsPoliciesType708(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PetsPolicy(self): + return self.PetsPolicy + def set_PetsPolicy(self, PetsPolicy): + self.PetsPolicy = PetsPolicy + def has__content(self): + if ( + self.PetsPolicy is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType708', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPoliciesType708') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PetsPoliciesType708': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPoliciesType708') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPoliciesType708', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPoliciesType708'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType708', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PetsPolicy is not None: + namespaceprefix_ = self.PetsPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicy_nsprefix_) else '' + self.PetsPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PetsPolicy': + obj_ = PetsPolicyType709.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PetsPolicy = obj_ + obj_.original_tagname_ = 'PetsPolicy' +# end class PetsPoliciesType708 + + +class PetsPolicyType709(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MaxPetQuantity = _cast(int, MaxPetQuantity) + self.MaxPetQuantity_nsprefix_ = None + self.NonRefundableFee = _cast(float, NonRefundableFee) + self.NonRefundableFee_nsprefix_ = None + self.ChargeCode = _cast(int, ChargeCode) + self.ChargeCode_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.DecimalPlaces = _cast(int, DecimalPlaces) + self.DecimalPlaces_nsprefix_ = None + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PetsPolicyType709) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PetsPolicyType709.subclass: + return PetsPolicyType709.subclass(*args_, **kwargs_) + else: + return PetsPolicyType709(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def get_MaxPetQuantity(self): + return self.MaxPetQuantity + def set_MaxPetQuantity(self, MaxPetQuantity): + self.MaxPetQuantity = MaxPetQuantity + def get_NonRefundableFee(self): + return self.NonRefundableFee + def set_NonRefundableFee(self, NonRefundableFee): + self.NonRefundableFee = NonRefundableFee + def get_ChargeCode(self): + return self.ChargeCode + def set_ChargeCode(self, ChargeCode): + self.ChargeCode = ChargeCode + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_DecimalPlaces(self): + return self.DecimalPlaces + def set_DecimalPlaces(self, DecimalPlaces): + self.DecimalPlaces = DecimalPlaces + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Description is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType709', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPolicyType709') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PetsPolicyType709': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPolicyType709') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPolicyType709', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPolicyType709'): + if self.MaxPetQuantity is not None and 'MaxPetQuantity' not in already_processed: + already_processed.add('MaxPetQuantity') + outfile.write(' MaxPetQuantity="%s"' % self.gds_format_integer(self.MaxPetQuantity, input_name='MaxPetQuantity')) + if self.NonRefundableFee is not None and 'NonRefundableFee' not in already_processed: + already_processed.add('NonRefundableFee') + outfile.write(' NonRefundableFee="%s"' % self.gds_format_decimal(self.NonRefundableFee, input_name='NonRefundableFee')) + if self.ChargeCode is not None and 'ChargeCode' not in already_processed: + already_processed.add('ChargeCode') + outfile.write(' ChargeCode="%s"' % self.gds_format_integer(self.ChargeCode, input_name='ChargeCode')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType709', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Description is not None: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MaxPetQuantity', node) + if value is not None and 'MaxPetQuantity' not in already_processed: + already_processed.add('MaxPetQuantity') + self.MaxPetQuantity = self.gds_parse_integer(value, node, 'MaxPetQuantity') + if self.MaxPetQuantity < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MaxPetQuantity) # validate type def_int_ge0 + value = find_attr_value_('NonRefundableFee', node) + if value is not None and 'NonRefundableFee' not in already_processed: + already_processed.add('NonRefundableFee') + value = self.gds_parse_decimal(value, node, 'NonRefundableFee') + self.NonRefundableFee = value + self.validate_def_decimal_ge0(self.NonRefundableFee) # validate type def_decimal_ge0 + value = find_attr_value_('ChargeCode', node) + if value is not None and 'ChargeCode' not in already_processed: + already_processed.add('ChargeCode') + self.ChargeCode = self.gds_parse_integer(value, node, 'ChargeCode') + if self.ChargeCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.ChargeCode) # validate type def_int_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('DecimalPlaces', node) + if value is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') + if self.DecimalPlaces <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Description': + obj_ = DescriptionType710.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description = obj_ + obj_.original_tagname_ = 'Description' +# end class PetsPolicyType709 + + +class DescriptionType710(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType710) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType710.subclass: + return DescriptionType710.subclass(*args_, **kwargs_) + else: + return DescriptionType710(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType710', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType710') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType710': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType710') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType710', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType710'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType710', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType711.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class DescriptionType710 + + +class TextType711(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType711) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType711.subclass: + return TextType711.subclass(*args_, **kwargs_) + else: + return TextType711(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType712(self, value): + # Validate type TextFormatType712, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType712' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType713(self, value): + # Validate type LanguageType713, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType713_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType713_patterns_, )) + validate_LanguageType713_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType711', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType711') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType711': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType711') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType711'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType711', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType712(self.TextFormat) # validate type TextFormatType712 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType713(self.Language) # validate type LanguageType713 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType711 + + +class TaxPoliciesType714(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TaxPolicy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TaxPolicy = TaxPolicy + self.TaxPolicy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TaxPoliciesType714) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TaxPoliciesType714.subclass: + return TaxPoliciesType714.subclass(*args_, **kwargs_) + else: + return TaxPoliciesType714(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TaxPolicy(self): + return self.TaxPolicy + def set_TaxPolicy(self, TaxPolicy): + self.TaxPolicy = TaxPolicy + def has__content(self): + if ( + self.TaxPolicy is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType714', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPoliciesType714') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TaxPoliciesType714': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPoliciesType714') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPoliciesType714', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPoliciesType714'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType714', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TaxPolicy is not None: + namespaceprefix_ = self.TaxPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicy_nsprefix_) else '' + self.TaxPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TaxPolicy': + obj_ = TaxPolicyType715.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TaxPolicy = obj_ + obj_.original_tagname_ = 'TaxPolicy' +# end class TaxPoliciesType714 + + +class TaxPolicyType715(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.DecimalPlaces = _cast(int, DecimalPlaces) + self.DecimalPlaces_nsprefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.ChargeFrequency = _cast(None, ChargeFrequency) + self.ChargeFrequency_nsprefix_ = None + self.ChargeUnit = _cast(None, ChargeUnit) + self.ChargeUnit_nsprefix_ = None + self.TaxDescription = TaxDescription + self.TaxDescription_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TaxPolicyType715) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TaxPolicyType715.subclass: + return TaxPolicyType715.subclass(*args_, **kwargs_) + else: + return TaxPolicyType715(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TaxDescription(self): + return self.TaxDescription + def set_TaxDescription(self, TaxDescription): + self.TaxDescription = TaxDescription + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_DecimalPlaces(self): + return self.DecimalPlaces + def set_DecimalPlaces(self, DecimalPlaces): + self.DecimalPlaces = DecimalPlaces + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_ChargeFrequency(self): + return self.ChargeFrequency + def set_ChargeFrequency(self, ChargeFrequency): + self.ChargeFrequency = ChargeFrequency + def get_ChargeUnit(self): + return self.ChargeUnit + def set_ChargeUnit(self, ChargeUnit): + self.ChargeUnit = ChargeUnit + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_CodeType720(self, value): + # Validate type CodeType720, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['3'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeType720' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ChargeFrequencyType721(self, value): + # Validate type ChargeFrequencyType721, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeFrequencyType721' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ChargeUnitType722(self, value): + # Validate type ChargeUnitType722, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['21'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeUnitType722' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.TaxDescription is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType715', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPolicyType715') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TaxPolicyType715': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPolicyType715') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPolicyType715', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPolicyType715'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.ChargeFrequency is not None and 'ChargeFrequency' not in already_processed: + already_processed.add('ChargeFrequency') + outfile.write(' ChargeFrequency=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeFrequency), input_name='ChargeFrequency')), )) + if self.ChargeUnit is not None and 'ChargeUnit' not in already_processed: + already_processed.add('ChargeUnit') + outfile.write(' ChargeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeUnit), input_name='ChargeUnit')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType715', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TaxDescription is not None: + namespaceprefix_ = self.TaxDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxDescription_nsprefix_) else '' + self.TaxDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxDescription', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('DecimalPlaces', node) + if value is not None and 'DecimalPlaces' not in already_processed: + already_processed.add('DecimalPlaces') + self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') + if self.DecimalPlaces <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType720(self.Code) # validate type CodeType720 + value = find_attr_value_('ChargeFrequency', node) + if value is not None and 'ChargeFrequency' not in already_processed: + already_processed.add('ChargeFrequency') + self.ChargeFrequency = value + self.validate_ChargeFrequencyType721(self.ChargeFrequency) # validate type ChargeFrequencyType721 + value = find_attr_value_('ChargeUnit', node) + if value is not None and 'ChargeUnit' not in already_processed: + already_processed.add('ChargeUnit') + self.ChargeUnit = value + self.validate_ChargeUnitType722(self.ChargeUnit) # validate type ChargeUnitType722 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TaxDescription': + obj_ = TaxDescriptionType716.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TaxDescription = obj_ + obj_.original_tagname_ = 'TaxDescription' +# end class TaxPolicyType715 + + +class TaxDescriptionType716(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Text=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TaxDescriptionType716) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TaxDescriptionType716.subclass: + return TaxDescriptionType716.subclass(*args_, **kwargs_) + else: + return TaxDescriptionType716(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def has__content(self): + if ( + self.Text + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType716', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxDescriptionType716') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TaxDescriptionType716': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxDescriptionType716') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxDescriptionType716', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxDescriptionType716'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType716', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Text': + obj_ = TextType717.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' +# end class TaxDescriptionType716 + + +class TextType717(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType717) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType717.subclass: + return TextType717.subclass(*args_, **kwargs_) + else: + return TextType717(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType718(self, value): + # Validate type TextFormatType718, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType718' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType719(self, value): + # Validate type LanguageType719, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType719_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType719_patterns_, )) + validate_LanguageType719_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType717', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType717') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType717': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType717') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType717'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType717', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType718(self.TextFormat) # validate type TextFormatType718 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType719(self.Language) # validate type LanguageType719 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType717 + + +class GuaranteePaymentPolicyType723(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GuaranteePayment = GuaranteePayment + self.GuaranteePayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteePaymentPolicyType723) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteePaymentPolicyType723.subclass: + return GuaranteePaymentPolicyType723.subclass(*args_, **kwargs_) + else: + return GuaranteePaymentPolicyType723(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GuaranteePayment(self): + return self.GuaranteePayment + def set_GuaranteePayment(self, GuaranteePayment): + self.GuaranteePayment = GuaranteePayment + def has__content(self): + if ( + self.GuaranteePayment is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType723', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentPolicyType723') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteePaymentPolicyType723': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentPolicyType723') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentPolicyType723', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentPolicyType723'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType723', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GuaranteePayment is not None: + namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' + self.GuaranteePayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GuaranteePayment': + obj_ = GuaranteePaymentType724.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GuaranteePayment = obj_ + obj_.original_tagname_ = 'GuaranteePayment' +# end class GuaranteePaymentPolicyType723 + + +class GuaranteePaymentType724(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AcceptedPayments = AcceptedPayments + self.AcceptedPayments_nsprefix_ = None + self.AmountPercent = AmountPercent + self.AmountPercent_nsprefix_ = None + self.Deadline = Deadline + self.Deadline_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuaranteePaymentType724) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuaranteePaymentType724.subclass: + return GuaranteePaymentType724.subclass(*args_, **kwargs_) + else: + return GuaranteePaymentType724(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayments(self): + return self.AcceptedPayments + def set_AcceptedPayments(self, AcceptedPayments): + self.AcceptedPayments = AcceptedPayments + def get_AmountPercent(self): + return self.AmountPercent + def set_AmountPercent(self, AmountPercent): + self.AmountPercent = AmountPercent + def get_Deadline(self): + return self.Deadline + def set_Deadline(self, Deadline): + self.Deadline = Deadline + def has__content(self): + if ( + self.AcceptedPayments is not None or + self.AmountPercent is not None or + self.Deadline is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType724', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType724') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType724': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType724') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType724', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType724'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType724', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AcceptedPayments is not None: + namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' + self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) + if self.AmountPercent is not None: + namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' + self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) + if self.Deadline is not None: + namespaceprefix_ = self.Deadline_nsprefix_ + ':' if (UseCapturedNS_ and self.Deadline_nsprefix_) else '' + self.Deadline.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Deadline', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayments': + obj_ = AcceptedPaymentsType725.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayments = obj_ + obj_.original_tagname_ = 'AcceptedPayments' + elif nodeName_ == 'AmountPercent': + obj_ = AmountPercentType736.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AmountPercent = obj_ + obj_.original_tagname_ = 'AmountPercent' + elif nodeName_ == 'Deadline': + obj_ = DeadlineType737.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Deadline = obj_ + obj_.original_tagname_ = 'Deadline' +# end class GuaranteePaymentType724 + + +class AcceptedPaymentsType725(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if AcceptedPayment is None: + self.AcceptedPayment = [] + else: + self.AcceptedPayment = AcceptedPayment + self.AcceptedPayment_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentsType725) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentsType725.subclass: + return AcceptedPaymentsType725.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentsType725(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AcceptedPayment(self): + return self.AcceptedPayment + def set_AcceptedPayment(self, AcceptedPayment): + self.AcceptedPayment = AcceptedPayment + def add_AcceptedPayment(self, value): + self.AcceptedPayment.append(value) + def insert_AcceptedPayment_at(self, index, value): + self.AcceptedPayment.insert(index, value) + def replace_AcceptedPayment_at(self, index, value): + self.AcceptedPayment[index] = value + def has__content(self): + if ( + self.AcceptedPayment + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType725', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType725') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType725': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType725') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType725', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType725'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType725', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for AcceptedPayment_ in self.AcceptedPayment: + namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' + AcceptedPayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AcceptedPayment': + obj_ = AcceptedPaymentType726.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AcceptedPayment.append(obj_) + obj_.original_tagname_ = 'AcceptedPayment' +# end class AcceptedPaymentsType725 + + +class AcceptedPaymentType726(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BankAcct = BankAcct + self.BankAcct_nsprefix_ = None + self.Cash = Cash + self.Cash_nsprefix_ = None + self.PaymentCard = PaymentCard + self.PaymentCard_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AcceptedPaymentType726) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AcceptedPaymentType726.subclass: + return AcceptedPaymentType726.subclass(*args_, **kwargs_) + else: + return AcceptedPaymentType726(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BankAcct(self): + return self.BankAcct + def set_BankAcct(self, BankAcct): + self.BankAcct = BankAcct + def get_Cash(self): + return self.Cash + def set_Cash(self, Cash): + self.Cash = Cash + def get_PaymentCard(self): + return self.PaymentCard + def set_PaymentCard(self, PaymentCard): + self.PaymentCard = PaymentCard + def has__content(self): + if ( + self.BankAcct is not None or + self.Cash is not None or + self.PaymentCard is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType726', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType726') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType726': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType726') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType726', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType726'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType726', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BankAcct is not None: + namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' + self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) + if self.Cash is not None: + namespaceprefix_ = self.Cash_nsprefix_ + ':' if (UseCapturedNS_ and self.Cash_nsprefix_) else '' + self.Cash.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Cash', pretty_print=pretty_print) + if self.PaymentCard is not None: + namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' + self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BankAcct': + obj_ = BankAcctType727.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcct = obj_ + obj_.original_tagname_ = 'BankAcct' + elif nodeName_ == 'Cash': + obj_ = CashType733.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Cash = obj_ + obj_.original_tagname_ = 'Cash' + elif nodeName_ == 'PaymentCard': + obj_ = PaymentCardType734.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PaymentCard = obj_ + obj_.original_tagname_ = 'PaymentCard' +# end class AcceptedPaymentType726 + + +class BankAcctType727(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BankAcctName = BankAcctName + self.BankAcctName_nsprefix_ = None + self.BankAcctNumber = BankAcctNumber + self.BankAcctNumber_nsprefix_ = None + self.BankID = BankID + self.BankID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctType727) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctType727.subclass: + return BankAcctType727.subclass(*args_, **kwargs_) + else: + return BankAcctType727(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BankAcctName(self): + return self.BankAcctName + def set_BankAcctName(self, BankAcctName): + self.BankAcctName = BankAcctName + def get_BankAcctNumber(self): + return self.BankAcctNumber + def set_BankAcctNumber(self, BankAcctNumber): + self.BankAcctNumber = BankAcctNumber + def get_BankID(self): + return self.BankID + def set_BankID(self, BankID): + self.BankID = BankID + def has__content(self): + if ( + self.BankAcctName is not None or + self.BankAcctNumber is not None or + self.BankID is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType727', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType727') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctType727': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType727') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType727', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType727'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType727', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BankAcctName is not None: + namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' + self.BankAcctName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctName', pretty_print=pretty_print) + if self.BankAcctNumber is not None: + namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' + self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) + if self.BankID is not None: + namespaceprefix_ = self.BankID_nsprefix_ + ':' if (UseCapturedNS_ and self.BankID_nsprefix_) else '' + self.BankID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankID', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BankAcctName': + obj_ = BankAcctNameType728.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcctName = obj_ + obj_.original_tagname_ = 'BankAcctName' + elif nodeName_ == 'BankAcctNumber': + obj_ = BankAcctNumberType729.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankAcctNumber = obj_ + obj_.original_tagname_ = 'BankAcctNumber' + elif nodeName_ == 'BankID': + obj_ = BankIDType731.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BankID = obj_ + obj_.original_tagname_ = 'BankID' +# end class BankAcctType727 + + +class BankAcctNameType728(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctNameType728) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctNameType728.subclass: + return BankAcctNameType728.subclass(*args_, **kwargs_) + else: + return BankAcctNameType728(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType728', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNameType728') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctNameType728': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNameType728') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNameType728'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType728', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BankAcctNameType728 + + +class BankAcctNumberType729(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PlainText = PlainText + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankAcctNumberType729) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankAcctNumberType729.subclass: + return BankAcctNumberType729.subclass(*args_, **kwargs_) + else: + return BankAcctNumberType729(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType729', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType729') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankAcctNumberType729': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType729') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType729', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType729'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType729', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + obj_ = PlainTextType730.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PlainText = obj_ + obj_.original_tagname_ = 'PlainText' +# end class BankAcctNumberType729 + + +class PlainTextType730(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PlainTextType730) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PlainTextType730.subclass: + return PlainTextType730.subclass(*args_, **kwargs_) + else: + return PlainTextType730(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_NumericStringLength1to19(self, value): + result = True + # Validate type NumericStringLength1to19, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to19_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) + result = False + return result + validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType730', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType730') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PlainTextType730': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType730') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType730'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType730', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PlainTextType730 + + +class BankIDType731(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PlainText = PlainText + self.PlainText_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BankIDType731) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BankIDType731.subclass: + return BankIDType731.subclass(*args_, **kwargs_) + else: + return BankIDType731(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlainText(self): + return self.PlainText + def set_PlainText(self, PlainText): + self.PlainText = PlainText + def has__content(self): + if ( + self.PlainText is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType731', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankIDType731') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BankIDType731': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankIDType731') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankIDType731', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankIDType731'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType731', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlainText is not None: + namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' + self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlainText': + obj_ = PlainTextType732.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PlainText = obj_ + obj_.original_tagname_ = 'PlainText' +# end class BankIDType731 + + +class PlainTextType732(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PlainTextType732) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PlainTextType732.subclass: + return PlainTextType732.subclass(*args_, **kwargs_) + else: + return PlainTextType732(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_NumericStringLength1to19(self, value): + result = True + # Validate type NumericStringLength1to19, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_NumericStringLength1to19_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) + result = False + return result + validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType732', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType732') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PlainTextType732': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType732') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType732'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType732', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PlainTextType732 + + +class CashType733(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CashIndicator=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CashIndicator = _cast(bool, CashIndicator) + self.CashIndicator_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CashType733) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CashType733.subclass: + return CashType733.subclass(*args_, **kwargs_) + else: + return CashType733(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CashIndicator(self): + return self.CashIndicator + def set_CashIndicator(self, CashIndicator): + self.CashIndicator = CashIndicator + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType733', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CashType733') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CashType733': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CashType733') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CashType733', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CashType733'): + if self.CashIndicator is not None and 'CashIndicator' not in already_processed: + already_processed.add('CashIndicator') + outfile.write(' CashIndicator="%s"' % self.gds_format_boolean(self.CashIndicator, input_name='CashIndicator')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType733', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CashIndicator', node) + if value is not None and 'CashIndicator' not in already_processed: + already_processed.add('CashIndicator') + if value in ('true', '1'): + self.CashIndicator = True + elif value in ('false', '0'): + self.CashIndicator = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.CashIndicator) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CashType733 + + +class PaymentCardType734(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CardCode=None, CardType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CardCode = _cast(None, CardCode) + self.CardCode_nsprefix_ = None + self.CardType = CardType + self.CardType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PaymentCardType734) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PaymentCardType734.subclass: + return PaymentCardType734.subclass(*args_, **kwargs_) + else: + return PaymentCardType734(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_CardType(self): + return self.CardType + def set_CardType(self, CardType): + self.CardType = CardType + def get_CardCode(self): + return self.CardCode + def set_CardCode(self, CardCode): + self.CardCode = CardCode + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.CardType is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType734', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType734') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PaymentCardType734': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType734') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType734', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType734'): + if self.CardCode is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType734', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.CardType is not None: + namespaceprefix_ = self.CardType_nsprefix_ + ':' if (UseCapturedNS_ and self.CardType_nsprefix_) else '' + self.CardType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardType', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CardCode', node) + if value is not None and 'CardCode' not in already_processed: + already_processed.add('CardCode') + self.CardCode = value + self.validate_def_nonempty_string(self.CardCode) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'CardType': + obj_ = CardTypeType735.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CardType = obj_ + obj_.original_tagname_ = 'CardType' +# end class PaymentCardType734 + + +class CardTypeType735(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CardTypeType735) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CardTypeType735.subclass: + return CardTypeType735.subclass(*args_, **kwargs_) + else: + return CardTypeType735(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType735', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardTypeType735') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CardTypeType735': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardTypeType735') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardTypeType735'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType735', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CardTypeType735 + + +class AmountPercentType736(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Percent=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Percent = _cast(float, Percent) + self.Percent_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AmountPercentType736) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AmountPercentType736.subclass: + return AmountPercentType736.subclass(*args_, **kwargs_) + else: + return AmountPercentType736(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Percent(self): + return self.Percent + def set_Percent(self, Percent): + self.Percent = Percent + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType736', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType736') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AmountPercentType736': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType736') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType736', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType736'): + if self.Percent is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + outfile.write(' Percent="%s"' % self.gds_format_decimal(self.Percent, input_name='Percent')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType736', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Percent', node) + if value is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + value = self.gds_parse_decimal(value, node, 'Percent') + self.Percent = value + self.validate_def_decimal_gt0(self.Percent) # validate type def_decimal_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AmountPercentType736 + + +class DeadlineType737(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.OffsetDropTime = _cast(None, OffsetDropTime) + self.OffsetDropTime_nsprefix_ = None + self.OffsetTimeUnit = _cast(None, OffsetTimeUnit) + self.OffsetTimeUnit_nsprefix_ = None + self.OffsetUnitMultiplier = _cast(int, OffsetUnitMultiplier) + self.OffsetUnitMultiplier_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DeadlineType737) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DeadlineType737.subclass: + return DeadlineType737.subclass(*args_, **kwargs_) + else: + return DeadlineType737(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_OffsetDropTime(self): + return self.OffsetDropTime + def set_OffsetDropTime(self, OffsetDropTime): + self.OffsetDropTime = OffsetDropTime + def get_OffsetTimeUnit(self): + return self.OffsetTimeUnit + def set_OffsetTimeUnit(self, OffsetTimeUnit): + self.OffsetTimeUnit = OffsetTimeUnit + def get_OffsetUnitMultiplier(self): + return self.OffsetUnitMultiplier + def set_OffsetUnitMultiplier(self, OffsetUnitMultiplier): + self.OffsetUnitMultiplier = OffsetUnitMultiplier + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_TimeUnitType(self, value): + # Validate type TimeUnitType, a restriction on StringLength1to16. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Year', 'Month', 'Week', 'Day', 'Hour', 'Second', 'FullDuration', 'Minute'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on TimeUnitType' % {"value": value, "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on TimeUnitType' % {"value" : value, "lineno": lineno} ) + result = False + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType737', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DeadlineType737') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DeadlineType737': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DeadlineType737') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DeadlineType737', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DeadlineType737'): + if self.OffsetDropTime is not None and 'OffsetDropTime' not in already_processed: + already_processed.add('OffsetDropTime') + outfile.write(' OffsetDropTime=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.OffsetDropTime), input_name='OffsetDropTime')), )) + if self.OffsetTimeUnit is not None and 'OffsetTimeUnit' not in already_processed: + already_processed.add('OffsetTimeUnit') + outfile.write(' OffsetTimeUnit=%s' % (quote_attrib(self.OffsetTimeUnit), )) + if self.OffsetUnitMultiplier is not None and 'OffsetUnitMultiplier' not in already_processed: + already_processed.add('OffsetUnitMultiplier') + outfile.write(' OffsetUnitMultiplier="%s"' % self.gds_format_integer(self.OffsetUnitMultiplier, input_name='OffsetUnitMultiplier')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType737', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('OffsetDropTime', node) + if value is not None and 'OffsetDropTime' not in already_processed: + already_processed.add('OffsetDropTime') + self.OffsetDropTime = value + self.validate_def_nonempty_string(self.OffsetDropTime) # validate type def_nonempty_string + value = find_attr_value_('OffsetTimeUnit', node) + if value is not None and 'OffsetTimeUnit' not in already_processed: + already_processed.add('OffsetTimeUnit') + self.OffsetTimeUnit = value + self.validate_TimeUnitType(self.OffsetTimeUnit) # validate type TimeUnitType + value = find_attr_value_('OffsetUnitMultiplier', node) + if value is not None and 'OffsetUnitMultiplier' not in already_processed: + already_processed.add('OffsetUnitMultiplier') + self.OffsetUnitMultiplier = self.gds_parse_integer(value, node, 'OffsetUnitMultiplier') + if self.OffsetUnitMultiplier < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.OffsetUnitMultiplier) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DeadlineType737 + + +class PolicyInfoType738(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MinGuestAge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MinGuestAge = _cast(int, MinGuestAge) + self.MinGuestAge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PolicyInfoType738) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PolicyInfoType738.subclass: + return PolicyInfoType738.subclass(*args_, **kwargs_) + else: + return PolicyInfoType738(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_MinGuestAge(self): + return self.MinGuestAge + def set_MinGuestAge(self, MinGuestAge): + self.MinGuestAge = MinGuestAge + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType738', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyInfoType738') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PolicyInfoType738': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyInfoType738') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyInfoType738', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyInfoType738'): + if self.MinGuestAge is not None and 'MinGuestAge' not in already_processed: + already_processed.add('MinGuestAge') + outfile.write(' MinGuestAge="%s"' % self.gds_format_integer(self.MinGuestAge, input_name='MinGuestAge')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType738', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MinGuestAge', node) + if value is not None and 'MinGuestAge' not in already_processed: + already_processed.add('MinGuestAge') + self.MinGuestAge = self.gds_parse_integer(value, node, 'MinGuestAge') + if self.MinGuestAge < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MinGuestAge) # validate type def_int_ge0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PolicyInfoType738 + + +class StayRequirementsType739(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StayRequirement=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if StayRequirement is None: + self.StayRequirement = [] + else: + self.StayRequirement = StayRequirement + self.StayRequirement_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StayRequirementsType739) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StayRequirementsType739.subclass: + return StayRequirementsType739.subclass(*args_, **kwargs_) + else: + return StayRequirementsType739(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StayRequirement(self): + return self.StayRequirement + def set_StayRequirement(self, StayRequirement): + self.StayRequirement = StayRequirement + def add_StayRequirement(self, value): + self.StayRequirement.append(value) + def insert_StayRequirement_at(self, index, value): + self.StayRequirement.insert(index, value) + def replace_StayRequirement_at(self, index, value): + self.StayRequirement[index] = value + def has__content(self): + if ( + self.StayRequirement + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType739', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementsType739') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StayRequirementsType739': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementsType739') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementsType739', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementsType739'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType739', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for StayRequirement_ in self.StayRequirement: + namespaceprefix_ = self.StayRequirement_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirement_nsprefix_) else '' + StayRequirement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirement', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'StayRequirement': + obj_ = StayRequirementType740.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StayRequirement.append(obj_) + obj_.original_tagname_ = 'StayRequirement' +# end class StayRequirementsType739 + + +class StayRequirementType740(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StayContext=None, Start=None, End=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.StayContext = _cast(None, StayContext) + self.StayContext_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StayRequirementType740) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StayRequirementType740.subclass: + return StayRequirementType740.subclass(*args_, **kwargs_) + else: + return StayRequirementType740(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StayContext(self): + return self.StayContext + def set_StayContext(self, StayContext): + self.StayContext = StayContext + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_StayContextType741(self, value): + # Validate type StayContextType741, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Checkin', 'Checkout'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StayContextType741' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StartType742(self, value): + # Validate type StartType742, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_StartType742_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_StartType742_patterns_, )) + validate_StartType742_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] + def validate_EndType743(self, value): + # Validate type EndType743, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_EndType743_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_EndType743_patterns_, )) + validate_EndType743_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType740', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementType740') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StayRequirementType740': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementType740') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementType740', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementType740'): + if self.StayContext is not None and 'StayContext' not in already_processed: + already_processed.add('StayContext') + outfile.write(' StayContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StayContext), input_name='StayContext')), )) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.End), input_name='End')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType740', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('StayContext', node) + if value is not None and 'StayContext' not in already_processed: + already_processed.add('StayContext') + self.StayContext = value + self.validate_StayContextType741(self.StayContext) # validate type StayContextType741 + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + self.Start = value + self.validate_StartType742(self.Start) # validate type StartType742 + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + self.End = value + self.validate_EndType743(self.End) # validate type EndType743 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class StayRequirementType740 + + +class AffiliationInfoType744(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Awards=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Awards = Awards + self.Awards_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AffiliationInfoType744) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AffiliationInfoType744.subclass: + return AffiliationInfoType744.subclass(*args_, **kwargs_) + else: + return AffiliationInfoType744(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Awards(self): + return self.Awards + def set_Awards(self, Awards): + self.Awards = Awards + def has__content(self): + if ( + self.Awards is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType744', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AffiliationInfoType744') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AffiliationInfoType744': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AffiliationInfoType744') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AffiliationInfoType744', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AffiliationInfoType744'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType744', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Awards is not None: + namespaceprefix_ = self.Awards_nsprefix_ + ':' if (UseCapturedNS_ and self.Awards_nsprefix_) else '' + self.Awards.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Awards', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Awards': + obj_ = AwardsType745.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Awards = obj_ + obj_.original_tagname_ = 'Awards' +# end class AffiliationInfoType744 + + +class AwardsType745(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Award=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Award is None: + self.Award = [] + else: + self.Award = Award + self.Award_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AwardsType745) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AwardsType745.subclass: + return AwardsType745.subclass(*args_, **kwargs_) + else: + return AwardsType745(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Award(self): + return self.Award + def set_Award(self, Award): + self.Award = Award + def add_Award(self, value): + self.Award.append(value) + def insert_Award_at(self, index, value): + self.Award.insert(index, value) + def replace_Award_at(self, index, value): + self.Award[index] = value + def has__content(self): + if ( + self.Award + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType745', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardsType745') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AwardsType745': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardsType745') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardsType745', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardsType745'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType745', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Award_ in self.Award: + namespaceprefix_ = self.Award_nsprefix_ + ':' if (UseCapturedNS_ and self.Award_nsprefix_) else '' + Award_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Award', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Award': + obj_ = AwardType746.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Award.append(obj_) + obj_.original_tagname_ = 'Award' +# end class AwardsType745 + + +class AwardType746(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Rating = _cast(float, Rating) + self.Rating_nsprefix_ = None + self.Provider = _cast(None, Provider) + self.Provider_nsprefix_ = None + self.RatingSymbol = _cast(None, RatingSymbol) + self.RatingSymbol_nsprefix_ = None + self.OfficialAppointmentInd = _cast(bool, OfficialAppointmentInd) + self.OfficialAppointmentInd_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AwardType746) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AwardType746.subclass: + return AwardType746.subclass(*args_, **kwargs_) + else: + return AwardType746(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rating(self): + return self.Rating + def set_Rating(self, Rating): + self.Rating = Rating + def get_Provider(self): + return self.Provider + def set_Provider(self, Provider): + self.Provider = Provider + def get_RatingSymbol(self): + return self.RatingSymbol + def set_RatingSymbol(self, RatingSymbol): + self.RatingSymbol = RatingSymbol + def get_OfficialAppointmentInd(self): + return self.OfficialAppointmentInd + def set_OfficialAppointmentInd(self, OfficialAppointmentInd): + self.OfficialAppointmentInd = OfficialAppointmentInd + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType746', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardType746') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AwardType746': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardType746') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardType746', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardType746'): + if self.Rating is not None and 'Rating' not in already_processed: + already_processed.add('Rating') + outfile.write(' Rating="%s"' % self.gds_format_decimal(self.Rating, input_name='Rating')) + if self.Provider is not None and 'Provider' not in already_processed: + already_processed.add('Provider') + outfile.write(' Provider=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Provider), input_name='Provider')), )) + if self.RatingSymbol is not None and 'RatingSymbol' not in already_processed: + already_processed.add('RatingSymbol') + outfile.write(' RatingSymbol=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatingSymbol), input_name='RatingSymbol')), )) + if self.OfficialAppointmentInd is not None and 'OfficialAppointmentInd' not in already_processed: + already_processed.add('OfficialAppointmentInd') + outfile.write(' OfficialAppointmentInd="%s"' % self.gds_format_boolean(self.OfficialAppointmentInd, input_name='OfficialAppointmentInd')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType746', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Rating', node) + if value is not None and 'Rating' not in already_processed: + already_processed.add('Rating') + value = self.gds_parse_decimal(value, node, 'Rating') + self.Rating = value + self.validate_def_decimal_ge0(self.Rating) # validate type def_decimal_ge0 + value = find_attr_value_('Provider', node) + if value is not None and 'Provider' not in already_processed: + already_processed.add('Provider') + self.Provider = value + self.validate_def_nonempty_string(self.Provider) # validate type def_nonempty_string + value = find_attr_value_('RatingSymbol', node) + if value is not None and 'RatingSymbol' not in already_processed: + already_processed.add('RatingSymbol') + self.RatingSymbol = value + self.validate_def_nonempty_string(self.RatingSymbol) # validate type def_nonempty_string + value = find_attr_value_('OfficialAppointmentInd', node) + if value is not None and 'OfficialAppointmentInd' not in already_processed: + already_processed.add('OfficialAppointmentInd') + if value in ('true', '1'): + self.OfficialAppointmentInd = True + elif value in ('false', '0'): + self.OfficialAppointmentInd = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.OfficialAppointmentInd) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AwardType746 + + +class ContactInfosType747(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ContactInfo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ContactInfo = ContactInfo + self.ContactInfo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ContactInfosType747) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ContactInfosType747.subclass: + return ContactInfosType747.subclass(*args_, **kwargs_) + else: + return ContactInfosType747(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ContactInfo(self): + return self.ContactInfo + def set_ContactInfo(self, ContactInfo): + self.ContactInfo = ContactInfo + def has__content(self): + if ( + self.ContactInfo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType747', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfosType747') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ContactInfosType747': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfosType747') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfosType747', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfosType747'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType747', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ContactInfo is not None: + namespaceprefix_ = self.ContactInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfo_nsprefix_) else '' + self.ContactInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ContactInfo': + obj_ = ContactInfoType748.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ContactInfo = obj_ + obj_.original_tagname_ = 'ContactInfo' +# end class ContactInfosType747 + + +class ContactInfoType748(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Location = _cast(None, Location) + self.Location_nsprefix_ = None + self.Addresses = Addresses + self.Addresses_nsprefix_ = None + self.Phones = Phones + self.Phones_nsprefix_ = None + self.Emails = Emails + self.Emails_nsprefix_ = None + self.URLs = URLs + self.URLs_nsprefix_ = None + self.CompanyName = CompanyName + self.CompanyName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ContactInfoType748) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ContactInfoType748.subclass: + return ContactInfoType748.subclass(*args_, **kwargs_) + else: + return ContactInfoType748(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Addresses(self): + return self.Addresses + def set_Addresses(self, Addresses): + self.Addresses = Addresses + def get_Phones(self): + return self.Phones + def set_Phones(self, Phones): + self.Phones = Phones + def get_Emails(self): + return self.Emails + def set_Emails(self, Emails): + self.Emails = Emails + def get_URLs(self): + return self.URLs + def set_URLs(self, URLs): + self.URLs = URLs + def get_CompanyName(self): + return self.CompanyName + def set_CompanyName(self, CompanyName): + self.CompanyName = CompanyName + def get_Location(self): + return self.Location + def set_Location(self, Location): + self.Location = Location + def validate_LocationType763(self, value): + # Validate type LocationType763, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['6'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on LocationType763' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.Addresses is not None or + self.Phones is not None or + self.Emails is not None or + self.URLs is not None or + self.CompanyName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType748', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfoType748') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ContactInfoType748': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfoType748') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfoType748', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfoType748'): + if self.Location is not None and 'Location' not in already_processed: + already_processed.add('Location') + outfile.write(' Location=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Location), input_name='Location')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType748', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Addresses is not None: + namespaceprefix_ = self.Addresses_nsprefix_ + ':' if (UseCapturedNS_ and self.Addresses_nsprefix_) else '' + self.Addresses.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Addresses', pretty_print=pretty_print) + if self.Phones is not None: + namespaceprefix_ = self.Phones_nsprefix_ + ':' if (UseCapturedNS_ and self.Phones_nsprefix_) else '' + self.Phones.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phones', pretty_print=pretty_print) + if self.Emails is not None: + namespaceprefix_ = self.Emails_nsprefix_ + ':' if (UseCapturedNS_ and self.Emails_nsprefix_) else '' + self.Emails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Emails', pretty_print=pretty_print) + if self.URLs is not None: + namespaceprefix_ = self.URLs_nsprefix_ + ':' if (UseCapturedNS_ and self.URLs_nsprefix_) else '' + self.URLs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URLs', pretty_print=pretty_print) + if self.CompanyName is not None: + namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' + self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Location', node) + if value is not None and 'Location' not in already_processed: + already_processed.add('Location') + self.Location = value + self.validate_LocationType763(self.Location) # validate type LocationType763 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Addresses': + obj_ = AddressesType749.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Addresses = obj_ + obj_.original_tagname_ = 'Addresses' + elif nodeName_ == 'Phones': + obj_ = PhonesType755.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Phones = obj_ + obj_.original_tagname_ = 'Phones' + elif nodeName_ == 'Emails': + obj_ = EmailsType758.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Emails = obj_ + obj_.original_tagname_ = 'Emails' + elif nodeName_ == 'URLs': + obj_ = URLsType760.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.URLs = obj_ + obj_.original_tagname_ = 'URLs' + elif nodeName_ == 'CompanyName': + obj_ = CompanyNameType762.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CompanyName = obj_ + obj_.original_tagname_ = 'CompanyName' +# end class ContactInfoType748 + + +class AddressesType749(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Address=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Address is None: + self.Address = [] + else: + self.Address = Address + self.Address_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressesType749) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressesType749.subclass: + return AddressesType749.subclass(*args_, **kwargs_) + else: + return AddressesType749(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Address(self): + return self.Address + def set_Address(self, Address): + self.Address = Address + def add_Address(self, value): + self.Address.append(value) + def insert_Address_at(self, index, value): + self.Address.insert(index, value) + def replace_Address_at(self, index, value): + self.Address[index] = value + def has__content(self): + if ( + self.Address + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType749', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressesType749') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressesType749': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressesType749') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressesType749', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressesType749'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType749', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Address_ in self.Address: + namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' + Address_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Address': + obj_ = AddressType750.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Address.append(obj_) + obj_.original_tagname_ = 'Address' +# end class AddressesType749 + + +class AddressType750(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.AddressLine = AddressLine + self.validate_StringLength1to255(self.AddressLine) + self.AddressLine_nsprefix_ = None + self.CityName = CityName + self.validate_StringLength1to64(self.CityName) + self.CityName_nsprefix_ = None + self.PostalCode = PostalCode + self.validate_StringLength1to16(self.PostalCode) + self.PostalCode_nsprefix_ = None + self.StateProv = StateProv + self.StateProv_nsprefix_ = None + self.CountryName = CountryName + self.CountryName_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressType750) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressType750.subclass: + return AddressType750.subclass(*args_, **kwargs_) + else: + return AddressType750(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AddressLine(self): + return self.AddressLine + def set_AddressLine(self, AddressLine): + self.AddressLine = AddressLine + def get_CityName(self): + return self.CityName + def set_CityName(self, CityName): + self.CityName = CityName + def get_PostalCode(self): + return self.PostalCode + def set_PostalCode(self, PostalCode): + self.PostalCode = PostalCode + def get_StateProv(self): + return self.StateProv + def set_StateProv(self, StateProv): + self.StateProv = StateProv + def get_CountryName(self): + return self.CountryName + def set_CountryName(self, CountryName): + self.CountryName = CountryName + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def validate_StringLength1to255(self, value): + result = True + # Validate type StringLength1to255, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 255: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to64(self, value): + result = True + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_StringLength1to16(self, value): + result = True + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_LanguageType754(self, value): + # Validate type LanguageType754, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType754_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType754_patterns_, )) + validate_LanguageType754_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + self.AddressLine is not None or + self.CityName is not None or + self.PostalCode is not None or + self.StateProv is not None or + self.CountryName is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType750', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType750') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressType750': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType750') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType750', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType750'): + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType750', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AddressLine is not None: + namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) + if self.CityName is not None: + namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) + if self.PostalCode is not None: + namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) + if self.StateProv is not None: + namespaceprefix_ = self.StateProv_nsprefix_ + ':' if (UseCapturedNS_ and self.StateProv_nsprefix_) else '' + self.StateProv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StateProv', pretty_print=pretty_print) + if self.CountryName is not None: + namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' + self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType754(self.Language) # validate type LanguageType754 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AddressLine': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine') + value_ = self.gds_validate_string(value_, node, 'AddressLine') + self.AddressLine = value_ + self.AddressLine_nsprefix_ = child_.prefix + # validate type StringLength1to255 + self.validate_StringLength1to255(self.AddressLine) + elif nodeName_ == 'CityName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CityName') + value_ = self.gds_validate_string(value_, node, 'CityName') + self.CityName = value_ + self.CityName_nsprefix_ = child_.prefix + # validate type StringLength1to64 + self.validate_StringLength1to64(self.CityName) + elif nodeName_ == 'PostalCode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PostalCode') + value_ = self.gds_validate_string(value_, node, 'PostalCode') + self.PostalCode = value_ + self.PostalCode_nsprefix_ = child_.prefix + # validate type StringLength1to16 + self.validate_StringLength1to16(self.PostalCode) + elif nodeName_ == 'StateProv': + obj_ = StateProvType751.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.StateProv = obj_ + obj_.original_tagname_ = 'StateProv' + elif nodeName_ == 'CountryName': + obj_ = CountryNameType752.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CountryName = obj_ + obj_.original_tagname_ = 'CountryName' +# end class AddressType750 + + +class StateProvType751(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, StateCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.StateCode = _cast(None, StateCode) + self.StateCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, StateProvType751) + if subclass is not None: + return subclass(*args_, **kwargs_) + if StateProvType751.subclass: + return StateProvType751.subclass(*args_, **kwargs_) + else: + return StateProvType751(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_StateCode(self): + return self.StateCode + def set_StateCode(self, StateCode): + self.StateCode = StateCode + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType751', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('StateProvType751') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'StateProvType751': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StateProvType751') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StateProvType751', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StateProvType751'): + if self.StateCode is not None and 'StateCode' not in already_processed: + already_processed.add('StateCode') + outfile.write(' StateCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StateCode), input_name='StateCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType751', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('StateCode', node) + if value is not None and 'StateCode' not in already_processed: + already_processed.add('StateCode') + self.StateCode = value + self.validate_def_nonempty_string(self.StateCode) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class StateProvType751 + + +class CountryNameType752(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Code=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CountryNameType752) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CountryNameType752.subclass: + return CountryNameType752.subclass(*args_, **kwargs_) + else: + return CountryNameType752(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def validate_CodeType753(self, value): + # Validate type CodeType753, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_CodeType753_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType753_patterns_, )) + validate_CodeType753_patterns_ = [['^([A-Z][A-Z])$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType752', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType752') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CountryNameType752': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType752') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType752', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType752'): + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType752', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_CodeType753(self.Code) # validate type CodeType753 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CountryNameType752 + + +class PhonesType755(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Phone=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Phone is None: + self.Phone = [] + else: + self.Phone = Phone + self.Phone_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PhonesType755) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PhonesType755.subclass: + return PhonesType755.subclass(*args_, **kwargs_) + else: + return PhonesType755(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Phone(self): + return self.Phone + def set_Phone(self, Phone): + self.Phone = Phone + def add_Phone(self, value): + self.Phone.append(value) + def insert_Phone_at(self, index, value): + self.Phone.insert(index, value) + def replace_Phone_at(self, index, value): + self.Phone[index] = value + def has__content(self): + if ( + self.Phone + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType755', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhonesType755') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PhonesType755': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhonesType755') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhonesType755', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhonesType755'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType755', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Phone_ in self.Phone: + namespaceprefix_ = self.Phone_nsprefix_ + ':' if (UseCapturedNS_ and self.Phone_nsprefix_) else '' + Phone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phone', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Phone': + obj_ = PhoneType756.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Phone.append(obj_) + obj_.original_tagname_ = 'Phone' +# end class PhonesType755 + + +class PhoneType756(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PhoneTechType = _cast(None, PhoneTechType) + self.PhoneTechType_nsprefix_ = None + self.PhoneNumber = _cast(None, PhoneNumber) + self.PhoneNumber_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PhoneType756) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PhoneType756.subclass: + return PhoneType756.subclass(*args_, **kwargs_) + else: + return PhoneType756(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PhoneTechType(self): + return self.PhoneTechType + def set_PhoneTechType(self, PhoneTechType): + self.PhoneTechType = PhoneTechType + def get_PhoneNumber(self): + return self.PhoneNumber + def set_PhoneNumber(self, PhoneNumber): + self.PhoneNumber = PhoneNumber + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_PhoneNumberType757(self, value): + # Validate type PhoneNumberType757, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_PhoneNumberType757_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType757_patterns_, )) + validate_PhoneNumberType757_patterns_ = [['^(\\+?[0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType756', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhoneType756') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PhoneType756': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhoneType756') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhoneType756', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhoneType756'): + if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) + if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType756', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('PhoneTechType', node) + if value is not None and 'PhoneTechType' not in already_processed: + already_processed.add('PhoneTechType') + self.PhoneTechType = value + self.validate_def_nonempty_string(self.PhoneTechType) # validate type def_nonempty_string + value = find_attr_value_('PhoneNumber', node) + if value is not None and 'PhoneNumber' not in already_processed: + already_processed.add('PhoneNumber') + self.PhoneNumber = value + self.validate_PhoneNumberType757(self.PhoneNumber) # validate type PhoneNumberType757 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PhoneType756 + + +class EmailsType758(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Email=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Email is None: + self.Email = [] + else: + self.Email = Email + self.Email_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EmailsType758) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EmailsType758.subclass: + return EmailsType758.subclass(*args_, **kwargs_) + else: + return EmailsType758(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Email(self): + return self.Email + def set_Email(self, Email): + self.Email = Email + def add_Email(self, value): + self.Email.append(value) + def insert_Email_at(self, index, value): + self.Email.insert(index, value) + def replace_Email_at(self, index, value): + self.Email[index] = value + def has__content(self): + if ( + self.Email + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType758', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailsType758') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EmailsType758': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailsType758') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EmailsType758', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailsType758'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType758', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Email_ in self.Email: + namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' + Email_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Email': + obj_ = EmailType759.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Email.append(obj_) + obj_.original_tagname_ = 'Email' +# end class EmailsType758 + + +class EmailType759(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EmailType=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EmailType = _cast(None, EmailType) + self.EmailType_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EmailType759) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EmailType759.subclass: + return EmailType759.subclass(*args_, **kwargs_) + else: + return EmailType759(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EmailType(self): + return self.EmailType + def set_EmailType(self, EmailType): + self.EmailType = EmailType + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_nonempty_string(self, value): + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType759', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType759') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EmailType759': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType759') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType759'): + if self.EmailType is not None and 'EmailType' not in already_processed: + already_processed.add('EmailType') + outfile.write(' EmailType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmailType), input_name='EmailType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType759', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('EmailType', node) + if value is not None and 'EmailType' not in already_processed: + already_processed.add('EmailType') + self.EmailType = value + self.validate_def_nonempty_string(self.EmailType) # validate type def_nonempty_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class EmailType759 + + +class URLsType760(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if URL is None: + self.URL = [] + else: + self.URL = URL + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, URLsType760) + if subclass is not None: + return subclass(*args_, **kwargs_) + if URLsType760.subclass: + return URLsType760.subclass(*args_, **kwargs_) + else: + return URLsType760(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def add_URL(self, value): + self.URL.append(value) + def insert_URL_at(self, index, value): + self.URL.insert(index, value) + def replace_URL_at(self, index, value): + self.URL[index] = value + def has__content(self): + if ( + self.URL + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType760', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLsType760') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'URLsType760': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLsType760') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='URLsType760', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLsType760'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType760', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for URL_ in self.URL: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + URL_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URL', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'URL': + obj_ = URLType761.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.URL.append(obj_) + obj_.original_tagname_ = 'URL' +# end class URLsType760 + + +class URLType761(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ID = _cast(None, ID) + self.ID_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, URLType761) + if subclass is not None: + return subclass(*args_, **kwargs_) + if URLType761.subclass: + return URLType761.subclass(*args_, **kwargs_) + else: + return URLType761(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ID(self): + return self.ID + def set_ID(self, ID): + self.ID = ID + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_uppercase_string(self, value): + # Validate type def_uppercase_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_uppercase_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_uppercase_string_patterns_, )) + validate_def_uppercase_string_patterns_ = [['^([A-Z]+)$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType761', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType761') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'URLType761': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType761') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType761'): + if self.ID is not None and 'ID' not in already_processed: + already_processed.add('ID') + outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType761', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ID', node) + if value is not None and 'ID' not in already_processed: + already_processed.add('ID') + self.ID = value + self.validate_def_uppercase_string(self.ID) # validate type def_uppercase_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class URLType761 + + +class CompanyNameType762(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CompanyNameType762) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CompanyNameType762.subclass: + return CompanyNameType762.subclass(*args_, **kwargs_) + else: + return CompanyNameType762(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_any_string(self, value): + result = True + # Validate type def_any_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_any_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType762', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType762') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CompanyNameType762': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType762') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType762'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType762', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class CompanyNameType762 + + +class RatePlansType764(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.HotelCode = _cast(None, HotelCode) + self.HotelCode_nsprefix_ = None + self.HotelName = _cast(None, HotelName) + self.HotelName_nsprefix_ = None + if RatePlan is None: + self.RatePlan = [] + else: + self.RatePlan = RatePlan + self.RatePlan_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlansType764) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlansType764.subclass: + return RatePlansType764.subclass(*args_, **kwargs_) + else: + return RatePlansType764(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RatePlan(self): + return self.RatePlan + def set_RatePlan(self, RatePlan): + self.RatePlan = RatePlan + def add_RatePlan(self, value): + self.RatePlan.append(value) + def insert_RatePlan_at(self, index, value): + self.RatePlan.insert(index, value) + def replace_RatePlan_at(self, index, value): + self.RatePlan[index] = value + def get_HotelCode(self): + return self.HotelCode + def set_HotelCode(self, HotelCode): + self.HotelCode = HotelCode + def get_HotelName(self): + return self.HotelName + def set_HotelName(self, HotelName): + self.HotelName = HotelName + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to128(self, value): + # Validate type StringLength1to128, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 128: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.RatePlan + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType764', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType764') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlansType764': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType764') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType764', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType764'): + if self.HotelCode is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) + if self.HotelName is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType764', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for RatePlan_ in self.RatePlan: + namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' + RatePlan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('HotelCode', node) + if value is not None and 'HotelCode' not in already_processed: + already_processed.add('HotelCode') + self.HotelCode = value + self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 + value = find_attr_value_('HotelName', node) + if value is not None and 'HotelName' not in already_processed: + already_processed.add('HotelName') + self.HotelName = value + self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RatePlan': + obj_ = RatePlanType765.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RatePlan.append(obj_) + obj_.original_tagname_ = 'RatePlan' +# end class RatePlansType764 + + +class RatePlanType765(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.RatePlanNotifType = _cast(None, RatePlanNotifType) + self.RatePlanNotifType_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.RatePlanCode = _cast(None, RatePlanCode) + self.RatePlanCode_nsprefix_ = None + self.RatePlanType = _cast(None, RatePlanType) + self.RatePlanType_nsprefix_ = None + self.RatePlanCategory = _cast(None, RatePlanCategory) + self.RatePlanCategory_nsprefix_ = None + self.RatePlanID = _cast(None, RatePlanID) + self.RatePlanID_nsprefix_ = None + self.RatePlanQualifier = _cast(bool, RatePlanQualifier) + self.RatePlanQualifier_nsprefix_ = None + self.BookingRules = BookingRules + self.BookingRules_nsprefix_ = None + self.Rates = Rates + self.Rates_nsprefix_ = None + self.Supplements = Supplements + self.Supplements_nsprefix_ = None + self.Offers = Offers + self.Offers_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatePlanType765) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatePlanType765.subclass: + return RatePlanType765.subclass(*args_, **kwargs_) + else: + return RatePlanType765(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BookingRules(self): + return self.BookingRules + def set_BookingRules(self, BookingRules): + self.BookingRules = BookingRules + def get_Rates(self): + return self.Rates + def set_Rates(self, Rates): + self.Rates = Rates + def get_Supplements(self): + return self.Supplements + def set_Supplements(self, Supplements): + self.Supplements = Supplements + def get_Offers(self): + return self.Offers + def set_Offers(self, Offers): + self.Offers = Offers + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def get_RatePlanNotifType(self): + return self.RatePlanNotifType + def set_RatePlanNotifType(self, RatePlanNotifType): + self.RatePlanNotifType = RatePlanNotifType + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_RatePlanCode(self): + return self.RatePlanCode + def set_RatePlanCode(self, RatePlanCode): + self.RatePlanCode = RatePlanCode + def get_RatePlanType(self): + return self.RatePlanType + def set_RatePlanType(self, RatePlanType): + self.RatePlanType = RatePlanType + def get_RatePlanCategory(self): + return self.RatePlanCategory + def set_RatePlanCategory(self, RatePlanCategory): + self.RatePlanCategory = RatePlanCategory + def get_RatePlanID(self): + return self.RatePlanID + def set_RatePlanID(self, RatePlanID): + self.RatePlanID = RatePlanID + def get_RatePlanQualifier(self): + return self.RatePlanQualifier + def set_RatePlanQualifier(self, RatePlanQualifier): + self.RatePlanQualifier = RatePlanQualifier + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_RatePlanNotifTypeType833(self, value): + # Validate type RatePlanNotifTypeType833, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Overlay', 'New', 'Full', 'Remove'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanNotifTypeType833' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_RatePlanTypeType834(self, value): + # Validate type RatePlanTypeType834, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['12'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanTypeType834' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.BookingRules is not None or + self.Rates is not None or + self.Supplements is not None or + self.Offers is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType765', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType765') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatePlanType765': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType765') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType765', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType765'): + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + if self.RatePlanNotifType is not None and 'RatePlanNotifType' not in already_processed: + already_processed.add('RatePlanNotifType') + outfile.write(' RatePlanNotifType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanNotifType), input_name='RatePlanNotifType')), )) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) + if self.RatePlanType is not None and 'RatePlanType' not in already_processed: + already_processed.add('RatePlanType') + outfile.write(' RatePlanType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanType), input_name='RatePlanType')), )) + if self.RatePlanCategory is not None and 'RatePlanCategory' not in already_processed: + already_processed.add('RatePlanCategory') + outfile.write(' RatePlanCategory=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCategory), input_name='RatePlanCategory')), )) + if self.RatePlanID is not None and 'RatePlanID' not in already_processed: + already_processed.add('RatePlanID') + outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) + if self.RatePlanQualifier is not None and 'RatePlanQualifier' not in already_processed: + already_processed.add('RatePlanQualifier') + outfile.write(' RatePlanQualifier="%s"' % self.gds_format_boolean(self.RatePlanQualifier, input_name='RatePlanQualifier')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType765', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BookingRules is not None: + namespaceprefix_ = self.BookingRules_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRules_nsprefix_) else '' + self.BookingRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRules', pretty_print=pretty_print) + if self.Rates is not None: + namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' + self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) + if self.Supplements is not None: + namespaceprefix_ = self.Supplements_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplements_nsprefix_) else '' + self.Supplements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplements', pretty_print=pretty_print) + if self.Offers is not None: + namespaceprefix_ = self.Offers_nsprefix_ + ':' if (UseCapturedNS_ and self.Offers_nsprefix_) else '' + self.Offers.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offers', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + value = find_attr_value_('RatePlanNotifType', node) + if value is not None and 'RatePlanNotifType' not in already_processed: + already_processed.add('RatePlanNotifType') + self.RatePlanNotifType = value + self.validate_RatePlanNotifTypeType833(self.RatePlanNotifType) # validate type RatePlanNotifTypeType833 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('RatePlanCode', node) + if value is not None and 'RatePlanCode' not in already_processed: + already_processed.add('RatePlanCode') + self.RatePlanCode = value + self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 + value = find_attr_value_('RatePlanType', node) + if value is not None and 'RatePlanType' not in already_processed: + already_processed.add('RatePlanType') + self.RatePlanType = value + self.validate_RatePlanTypeType834(self.RatePlanType) # validate type RatePlanTypeType834 + value = find_attr_value_('RatePlanCategory', node) + if value is not None and 'RatePlanCategory' not in already_processed: + already_processed.add('RatePlanCategory') + self.RatePlanCategory = value + self.validate_StringLength1to64(self.RatePlanCategory) # validate type StringLength1to64 + value = find_attr_value_('RatePlanID', node) + if value is not None and 'RatePlanID' not in already_processed: + already_processed.add('RatePlanID') + self.RatePlanID = value + self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 + value = find_attr_value_('RatePlanQualifier', node) + if value is not None and 'RatePlanQualifier' not in already_processed: + already_processed.add('RatePlanQualifier') + if value in ('true', '1'): + self.RatePlanQualifier = True + elif value in ('false', '0'): + self.RatePlanQualifier = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.RatePlanQualifier) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BookingRules': + obj_ = BookingRulesType766.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BookingRules = obj_ + obj_.original_tagname_ = 'BookingRules' + elif nodeName_ == 'Rates': + obj_ = RatesType779.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rates = obj_ + obj_.original_tagname_ = 'Rates' + elif nodeName_ == 'Supplements': + obj_ = SupplementsType795.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Supplements = obj_ + obj_.original_tagname_ = 'Supplements' + elif nodeName_ == 'Offers': + obj_ = OffersType807.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Offers = obj_ + obj_.original_tagname_ = 'Offers' + elif nodeName_ == 'Description': + obj_ = DescriptionType828.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class RatePlanType765 + + +class BookingRulesType766(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BookingRule=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if BookingRule is None: + self.BookingRule = [] + else: + self.BookingRule = BookingRule + self.BookingRule_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BookingRulesType766) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BookingRulesType766.subclass: + return BookingRulesType766.subclass(*args_, **kwargs_) + else: + return BookingRulesType766(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BookingRule(self): + return self.BookingRule + def set_BookingRule(self, BookingRule): + self.BookingRule = BookingRule + def add_BookingRule(self, value): + self.BookingRule.append(value) + def insert_BookingRule_at(self, index, value): + self.BookingRule.insert(index, value) + def replace_BookingRule_at(self, index, value): + self.BookingRule[index] = value + def has__content(self): + if ( + self.BookingRule + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType766', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRulesType766') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BookingRulesType766': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRulesType766') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRulesType766', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRulesType766'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType766', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for BookingRule_ in self.BookingRule: + namespaceprefix_ = self.BookingRule_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRule_nsprefix_) else '' + BookingRule_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRule', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BookingRule': + obj_ = BookingRuleType767.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BookingRule.append(obj_) + obj_.original_tagname_ = 'BookingRule' +# end class BookingRulesType766 + + +class BookingRuleType767(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.CodeContext = _cast(None, CodeContext) + self.CodeContext_nsprefix_ = None + self.Code = _cast(None, Code) + self.Code_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.LengthsOfStay = LengthsOfStay + self.LengthsOfStay_nsprefix_ = None + self.DOW_Restrictions = DOW_Restrictions + self.DOW_Restrictions_nsprefix_ = None + self.RestrictionStatus = RestrictionStatus + self.RestrictionStatus_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BookingRuleType767) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BookingRuleType767.subclass: + return BookingRuleType767.subclass(*args_, **kwargs_) + else: + return BookingRuleType767(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthsOfStay(self): + return self.LengthsOfStay + def set_LengthsOfStay(self, LengthsOfStay): + self.LengthsOfStay = LengthsOfStay + def get_DOW_Restrictions(self): + return self.DOW_Restrictions + def set_DOW_Restrictions(self, DOW_Restrictions): + self.DOW_Restrictions = DOW_Restrictions + def get_RestrictionStatus(self): + return self.RestrictionStatus + def set_RestrictionStatus(self, RestrictionStatus): + self.RestrictionStatus = RestrictionStatus + def get_CodeContext(self): + return self.CodeContext + def set_CodeContext(self, CodeContext): + self.CodeContext = CodeContext + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_CodeContextType778(self, value): + # Validate type CodeContextType778, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ROOMTYPE'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType778' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.LengthsOfStay is not None or + self.DOW_Restrictions is not None or + self.RestrictionStatus is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType767', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRuleType767') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BookingRuleType767': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRuleType767') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRuleType767', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRuleType767'): + if self.CodeContext is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType767', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.LengthsOfStay is not None: + namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' + self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) + if self.DOW_Restrictions is not None: + namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' + self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) + if self.RestrictionStatus is not None: + namespaceprefix_ = self.RestrictionStatus_nsprefix_ + ':' if (UseCapturedNS_ and self.RestrictionStatus_nsprefix_) else '' + self.RestrictionStatus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RestrictionStatus', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('CodeContext', node) + if value is not None and 'CodeContext' not in already_processed: + already_processed.add('CodeContext') + self.CodeContext = value + self.validate_CodeContextType778(self.CodeContext) # validate type CodeContextType778 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = value + self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthsOfStay': + obj_ = LengthsOfStayType768.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthsOfStay = obj_ + obj_.original_tagname_ = 'LengthsOfStay' + elif nodeName_ == 'DOW_Restrictions': + obj_ = DOW_RestrictionsType772.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DOW_Restrictions = obj_ + obj_.original_tagname_ = 'DOW_Restrictions' + elif nodeName_ == 'RestrictionStatus': + obj_ = RestrictionStatusType775.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RestrictionStatus = obj_ + obj_.original_tagname_ = 'RestrictionStatus' +# end class BookingRuleType767 + + +class LengthsOfStayType768(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if LengthOfStay is None: + self.LengthOfStay = [] + else: + self.LengthOfStay = LengthOfStay + self.LengthOfStay_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthsOfStayType768) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthsOfStayType768.subclass: + return LengthsOfStayType768.subclass(*args_, **kwargs_) + else: + return LengthsOfStayType768(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthOfStay(self): + return self.LengthOfStay + def set_LengthOfStay(self, LengthOfStay): + self.LengthOfStay = LengthOfStay + def add_LengthOfStay(self, value): + self.LengthOfStay.append(value) + def insert_LengthOfStay_at(self, index, value): + self.LengthOfStay.insert(index, value) + def replace_LengthOfStay_at(self, index, value): + self.LengthOfStay[index] = value + def has__content(self): + if ( + self.LengthOfStay + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType768', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType768') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthsOfStayType768': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType768') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType768', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType768'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType768', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for LengthOfStay_ in self.LengthOfStay: + namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' + LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthOfStay': + obj_ = LengthOfStayType769.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthOfStay.append(obj_) + obj_.original_tagname_ = 'LengthOfStay' +# end class LengthsOfStayType768 + + +class LengthOfStayType769(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Time = _cast(float, Time) + self.Time_nsprefix_ = None + self.TimeUnit = _cast(None, TimeUnit) + self.TimeUnit_nsprefix_ = None + self.MinMaxMessageType = _cast(None, MinMaxMessageType) + self.MinMaxMessageType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthOfStayType769) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthOfStayType769.subclass: + return LengthOfStayType769.subclass(*args_, **kwargs_) + else: + return LengthOfStayType769(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Time(self): + return self.Time + def set_Time(self, Time): + self.Time = Time + def get_TimeUnit(self): + return self.TimeUnit + def set_TimeUnit(self, TimeUnit): + self.TimeUnit = TimeUnit + def get_MinMaxMessageType(self): + return self.MinMaxMessageType + def set_MinMaxMessageType(self, MinMaxMessageType): + self.MinMaxMessageType = MinMaxMessageType + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_TimeUnitType770(self, value): + # Validate type TimeUnitType770, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType770' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MinMaxMessageTypeType771(self, value): + # Validate type MinMaxMessageTypeType771, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['SetMinLOS', 'SetForwardMinStay', 'SetMaxLOS', 'SetForwardMaxStay'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType771' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType769', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType769') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthOfStayType769': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType769') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType769', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType769'): + if self.Time is not None and 'Time' not in already_processed: + already_processed.add('Time') + outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) + if self.TimeUnit is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) + if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType769', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Time', node) + if value is not None and 'Time' not in already_processed: + already_processed.add('Time') + value = self.gds_parse_decimal(value, node, 'Time') + self.Time = value + self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 + value = find_attr_value_('TimeUnit', node) + if value is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + self.TimeUnit = value + self.validate_TimeUnitType770(self.TimeUnit) # validate type TimeUnitType770 + value = find_attr_value_('MinMaxMessageType', node) + if value is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + self.MinMaxMessageType = value + self.validate_MinMaxMessageTypeType771(self.MinMaxMessageType) # validate type MinMaxMessageTypeType771 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class LengthOfStayType769 + + +class DOW_RestrictionsType772(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + self.ArrivalDaysOfWeek_nsprefix_ = None + self.DepartureDaysOfWeek = DepartureDaysOfWeek + self.DepartureDaysOfWeek_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DOW_RestrictionsType772) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DOW_RestrictionsType772.subclass: + return DOW_RestrictionsType772.subclass(*args_, **kwargs_) + else: + return DOW_RestrictionsType772(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ArrivalDaysOfWeek(self): + return self.ArrivalDaysOfWeek + def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + def get_DepartureDaysOfWeek(self): + return self.DepartureDaysOfWeek + def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): + self.DepartureDaysOfWeek = DepartureDaysOfWeek + def has__content(self): + if ( + self.ArrivalDaysOfWeek is not None or + self.DepartureDaysOfWeek is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType772', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType772') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType772': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType772') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType772', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType772'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType772', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ArrivalDaysOfWeek is not None: + namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' + self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) + if self.DepartureDaysOfWeek is not None: + namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' + self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ArrivalDaysOfWeek': + obj_ = ArrivalDaysOfWeekType773.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ArrivalDaysOfWeek = obj_ + obj_.original_tagname_ = 'ArrivalDaysOfWeek' + elif nodeName_ == 'DepartureDaysOfWeek': + obj_ = DepartureDaysOfWeekType774.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DepartureDaysOfWeek = obj_ + obj_.original_tagname_ = 'DepartureDaysOfWeek' +# end class DOW_RestrictionsType772 + + +class ArrivalDaysOfWeekType773(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ArrivalDaysOfWeekType773) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ArrivalDaysOfWeekType773.subclass: + return ArrivalDaysOfWeekType773.subclass(*args_, **kwargs_) + else: + return ArrivalDaysOfWeekType773(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType773', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType773') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType773': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType773') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType773', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType773'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType773', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ArrivalDaysOfWeekType773 + + +class DepartureDaysOfWeekType774(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DepartureDaysOfWeekType774) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DepartureDaysOfWeekType774.subclass: + return DepartureDaysOfWeekType774.subclass(*args_, **kwargs_) + else: + return DepartureDaysOfWeekType774(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType774', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType774') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType774': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType774') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType774', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType774'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType774', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DepartureDaysOfWeekType774 + + +class RestrictionStatusType775(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Restriction=None, Status=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Restriction = _cast(None, Restriction) + self.Restriction_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RestrictionStatusType775) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RestrictionStatusType775.subclass: + return RestrictionStatusType775.subclass(*args_, **kwargs_) + else: + return RestrictionStatusType775(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Restriction(self): + return self.Restriction + def set_Restriction(self, Restriction): + self.Restriction = Restriction + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def validate_RestrictionType776(self, value): + # Validate type RestrictionType776, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Master'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RestrictionType776' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StatusType777(self, value): + # Validate type StatusType777, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Open', 'Close'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType777' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType775', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RestrictionStatusType775') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RestrictionStatusType775': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RestrictionStatusType775') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RestrictionStatusType775', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RestrictionStatusType775'): + if self.Restriction is not None and 'Restriction' not in already_processed: + already_processed.add('Restriction') + outfile.write(' Restriction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Restriction), input_name='Restriction')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType775', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Restriction', node) + if value is not None and 'Restriction' not in already_processed: + already_processed.add('Restriction') + self.Restriction = value + self.validate_RestrictionType776(self.Restriction) # validate type RestrictionType776 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_StatusType777(self.Status) # validate type StatusType777 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class RestrictionStatusType775 + + +class RatesType779(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Rate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Rate is None: + self.Rate = [] + else: + self.Rate = Rate + self.Rate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RatesType779) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RatesType779.subclass: + return RatesType779.subclass(*args_, **kwargs_) + else: + return RatesType779(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rate(self): + return self.Rate + def set_Rate(self, Rate): + self.Rate = Rate + def add_Rate(self, value): + self.Rate.append(value) + def insert_Rate_at(self, index, value): + self.Rate.insert(index, value) + def replace_Rate_at(self, index, value): + self.Rate[index] = value + def has__content(self): + if ( + self.Rate + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType779', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType779') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RatesType779': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType779') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType779', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType779'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType779', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Rate_ in self.Rate: + namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' + Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Rate': + obj_ = RateType780.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rate.append(obj_) + obj_.original_tagname_ = 'Rate' +# end class RatesType779 + + +class RateType780(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MinGuestApplicable = _cast(int, MinGuestApplicable) + self.MinGuestApplicable_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.RateTimeUnit = _cast(None, RateTimeUnit) + self.RateTimeUnit_nsprefix_ = None + self.UnitMultiplier = _cast(int, UnitMultiplier) + self.UnitMultiplier_nsprefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + self.Duration = _cast(None, Duration) + self.Duration_nsprefix_ = None + self.InvTypeCode = _cast(None, InvTypeCode) + self.InvTypeCode_nsprefix_ = None + self.BaseByGuestAmts = BaseByGuestAmts + self.BaseByGuestAmts_nsprefix_ = None + self.AdditionalGuestAmounts = AdditionalGuestAmounts + self.AdditionalGuestAmounts_nsprefix_ = None + self.RateDescription = RateDescription + self.RateDescription_nsprefix_ = None + self.MealsIncluded = MealsIncluded + self.MealsIncluded_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RateType780) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RateType780.subclass: + return RateType780.subclass(*args_, **kwargs_) + else: + return RateType780(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BaseByGuestAmts(self): + return self.BaseByGuestAmts + def set_BaseByGuestAmts(self, BaseByGuestAmts): + self.BaseByGuestAmts = BaseByGuestAmts + def get_AdditionalGuestAmounts(self): + return self.AdditionalGuestAmounts + def set_AdditionalGuestAmounts(self, AdditionalGuestAmounts): + self.AdditionalGuestAmounts = AdditionalGuestAmounts + def get_RateDescription(self): + return self.RateDescription + def set_RateDescription(self, RateDescription): + self.RateDescription = RateDescription + def get_MealsIncluded(self): + return self.MealsIncluded + def set_MealsIncluded(self, MealsIncluded): + self.MealsIncluded = MealsIncluded + def get_MinGuestApplicable(self): + return self.MinGuestApplicable + def set_MinGuestApplicable(self, MinGuestApplicable): + self.MinGuestApplicable = MinGuestApplicable + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def get_RateTimeUnit(self): + return self.RateTimeUnit + def set_RateTimeUnit(self, RateTimeUnit): + self.RateTimeUnit = RateTimeUnit + def get_UnitMultiplier(self): + return self.UnitMultiplier + def set_UnitMultiplier(self, UnitMultiplier): + self.UnitMultiplier = UnitMultiplier + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def get_Duration(self): + return self.Duration + def set_Duration(self, Duration): + self.Duration = Duration + def get_InvTypeCode(self): + return self.InvTypeCode + def set_InvTypeCode(self, InvTypeCode): + self.InvTypeCode = InvTypeCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def validate_RateTimeUnitType793(self, value): + # Validate type RateTimeUnitType793, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType793' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_DurationType794(self, value): + # Validate type DurationType794, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_DurationType794_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType794_patterns_, )) + validate_DurationType794_patterns_ = [['^(P[0-9]+N)$']] + def validate_def_invTypeCode_string(self, value): + # Validate type def_invTypeCode_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.BaseByGuestAmts is not None or + self.AdditionalGuestAmounts is not None or + self.RateDescription is not None or + self.MealsIncluded is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType780', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType780') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RateType780': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType780') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType780', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType780'): + if self.MinGuestApplicable is not None and 'MinGuestApplicable' not in already_processed: + already_processed.add('MinGuestApplicable') + outfile.write(' MinGuestApplicable="%s"' % self.gds_format_integer(self.MinGuestApplicable, input_name='MinGuestApplicable')) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) + if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + if self.Duration is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) + if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: + already_processed.add('InvTypeCode') + outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType780', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BaseByGuestAmts is not None: + namespaceprefix_ = self.BaseByGuestAmts_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmts_nsprefix_) else '' + self.BaseByGuestAmts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmts', pretty_print=pretty_print) + if self.AdditionalGuestAmounts is not None: + namespaceprefix_ = self.AdditionalGuestAmounts_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmounts_nsprefix_) else '' + self.AdditionalGuestAmounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmounts', pretty_print=pretty_print) + if self.RateDescription is not None: + namespaceprefix_ = self.RateDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.RateDescription_nsprefix_) else '' + self.RateDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RateDescription', pretty_print=pretty_print) + if self.MealsIncluded is not None: + namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' + self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MinGuestApplicable', node) + if value is not None and 'MinGuestApplicable' not in already_processed: + already_processed.add('MinGuestApplicable') + self.MinGuestApplicable = self.gds_parse_integer(value, node, 'MinGuestApplicable') + if self.MinGuestApplicable <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinGuestApplicable) # validate type def_int_gt0 + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + value = find_attr_value_('RateTimeUnit', node) + if value is not None and 'RateTimeUnit' not in already_processed: + already_processed.add('RateTimeUnit') + self.RateTimeUnit = value + self.validate_RateTimeUnitType793(self.RateTimeUnit) # validate type RateTimeUnitType793 + value = find_attr_value_('UnitMultiplier', node) + if value is not None and 'UnitMultiplier' not in already_processed: + already_processed.add('UnitMultiplier') + self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') + if self.UnitMultiplier <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + value = find_attr_value_('Duration', node) + if value is not None and 'Duration' not in already_processed: + already_processed.add('Duration') + self.Duration = value + self.validate_DurationType794(self.Duration) # validate type DurationType794 + value = find_attr_value_('InvTypeCode', node) + if value is not None and 'InvTypeCode' not in already_processed: + already_processed.add('InvTypeCode') + self.InvTypeCode = value + self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BaseByGuestAmts': + obj_ = BaseByGuestAmtsType781.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BaseByGuestAmts = obj_ + obj_.original_tagname_ = 'BaseByGuestAmts' + elif nodeName_ == 'AdditionalGuestAmounts': + obj_ = AdditionalGuestAmountsType784.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AdditionalGuestAmounts = obj_ + obj_.original_tagname_ = 'AdditionalGuestAmounts' + elif nodeName_ == 'RateDescription': + obj_ = RateDescriptionType786.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RateDescription = obj_ + obj_.original_tagname_ = 'RateDescription' + elif nodeName_ == 'MealsIncluded': + obj_ = MealsIncludedType790.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.MealsIncluded = obj_ + obj_.original_tagname_ = 'MealsIncluded' +# end class RateType780 + + +class BaseByGuestAmtsType781(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BaseByGuestAmt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if BaseByGuestAmt is None: + self.BaseByGuestAmt = [] + else: + self.BaseByGuestAmt = BaseByGuestAmt + self.BaseByGuestAmt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BaseByGuestAmtsType781) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BaseByGuestAmtsType781.subclass: + return BaseByGuestAmtsType781.subclass(*args_, **kwargs_) + else: + return BaseByGuestAmtsType781(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BaseByGuestAmt(self): + return self.BaseByGuestAmt + def set_BaseByGuestAmt(self, BaseByGuestAmt): + self.BaseByGuestAmt = BaseByGuestAmt + def add_BaseByGuestAmt(self, value): + self.BaseByGuestAmt.append(value) + def insert_BaseByGuestAmt_at(self, index, value): + self.BaseByGuestAmt.insert(index, value) + def replace_BaseByGuestAmt_at(self, index, value): + self.BaseByGuestAmt[index] = value + def has__content(self): + if ( + self.BaseByGuestAmt + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType781', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtsType781') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtsType781': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtsType781') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtsType781', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtsType781'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType781', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for BaseByGuestAmt_ in self.BaseByGuestAmt: + namespaceprefix_ = self.BaseByGuestAmt_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmt_nsprefix_) else '' + BaseByGuestAmt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BaseByGuestAmt': + obj_ = BaseByGuestAmtType782.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BaseByGuestAmt.append(obj_) + obj_.original_tagname_ = 'BaseByGuestAmt' +# end class BaseByGuestAmtsType781 + + +class BaseByGuestAmtType782(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NumberOfGuests = _cast(int, NumberOfGuests) + self.NumberOfGuests_nsprefix_ = None + self.AmountAfterTax = _cast(float, AmountAfterTax) + self.AmountAfterTax_nsprefix_ = None + self.CurrencyCode = _cast(None, CurrencyCode) + self.CurrencyCode_nsprefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BaseByGuestAmtType782) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BaseByGuestAmtType782.subclass: + return BaseByGuestAmtType782.subclass(*args_, **kwargs_) + else: + return BaseByGuestAmtType782(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NumberOfGuests(self): + return self.NumberOfGuests + def set_NumberOfGuests(self, NumberOfGuests): + self.NumberOfGuests = NumberOfGuests + def get_AmountAfterTax(self): + return self.AmountAfterTax + def set_AmountAfterTax(self, AmountAfterTax): + self.AmountAfterTax = AmountAfterTax + def get_CurrencyCode(self): + return self.CurrencyCode + def set_CurrencyCode(self, CurrencyCode): + self.CurrencyCode = CurrencyCode + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_decimal_gt0(self, value): + # Validate type def_decimal_gt0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value <= 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) + validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_three_char_string(self, value): + # Validate type def_three_char_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_TypeType783(self, value): + # Validate type TypeType783, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['7', '25'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType783' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType782', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtType782') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtType782': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtType782') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtType782', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtType782'): + if self.NumberOfGuests is not None and 'NumberOfGuests' not in already_processed: + already_processed.add('NumberOfGuests') + outfile.write(' NumberOfGuests="%s"' % self.gds_format_integer(self.NumberOfGuests, input_name='NumberOfGuests')) + if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) + if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType782', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('NumberOfGuests', node) + if value is not None and 'NumberOfGuests' not in already_processed: + already_processed.add('NumberOfGuests') + self.NumberOfGuests = self.gds_parse_integer(value, node, 'NumberOfGuests') + if self.NumberOfGuests <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.NumberOfGuests) # validate type def_int_gt0 + value = find_attr_value_('AmountAfterTax', node) + if value is not None and 'AmountAfterTax' not in already_processed: + already_processed.add('AmountAfterTax') + value = self.gds_parse_decimal(value, node, 'AmountAfterTax') + self.AmountAfterTax = value + self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 + value = find_attr_value_('CurrencyCode', node) + if value is not None and 'CurrencyCode' not in already_processed: + already_processed.add('CurrencyCode') + self.CurrencyCode = value + self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType783(self.Type) # validate type TypeType783 + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') + if self.AgeQualifyingCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BaseByGuestAmtType782 + + +class AdditionalGuestAmountsType784(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AdditionalGuestAmount=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if AdditionalGuestAmount is None: + self.AdditionalGuestAmount = [] + else: + self.AdditionalGuestAmount = AdditionalGuestAmount + self.AdditionalGuestAmount_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AdditionalGuestAmountsType784) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AdditionalGuestAmountsType784.subclass: + return AdditionalGuestAmountsType784.subclass(*args_, **kwargs_) + else: + return AdditionalGuestAmountsType784(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AdditionalGuestAmount(self): + return self.AdditionalGuestAmount + def set_AdditionalGuestAmount(self, AdditionalGuestAmount): + self.AdditionalGuestAmount = AdditionalGuestAmount + def add_AdditionalGuestAmount(self, value): + self.AdditionalGuestAmount.append(value) + def insert_AdditionalGuestAmount_at(self, index, value): + self.AdditionalGuestAmount.insert(index, value) + def replace_AdditionalGuestAmount_at(self, index, value): + self.AdditionalGuestAmount[index] = value + def has__content(self): + if ( + self.AdditionalGuestAmount + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType784', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountsType784') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountsType784': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountsType784') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountsType784', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountsType784'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType784', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for AdditionalGuestAmount_ in self.AdditionalGuestAmount: + namespaceprefix_ = self.AdditionalGuestAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmount_nsprefix_) else '' + AdditionalGuestAmount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmount', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AdditionalGuestAmount': + obj_ = AdditionalGuestAmountType785.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AdditionalGuestAmount.append(obj_) + obj_.original_tagname_ = 'AdditionalGuestAmount' +# end class AdditionalGuestAmountsType784 + + +class AdditionalGuestAmountType785(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + self.MinAge = _cast(int, MinAge) + self.MinAge_nsprefix_ = None + self.MaxAge = _cast(int, MaxAge) + self.MaxAge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AdditionalGuestAmountType785) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AdditionalGuestAmountType785.subclass: + return AdditionalGuestAmountType785.subclass(*args_, **kwargs_) + else: + return AdditionalGuestAmountType785(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def get_MinAge(self): + return self.MinAge + def set_MinAge(self, MinAge): + self.MinAge = MinAge + def get_MaxAge(self): + return self.MaxAge + def set_MaxAge(self, MaxAge): + self.MaxAge = MaxAge + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType785', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountType785') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountType785': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountType785') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountType785', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountType785'): + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) + if self.MinAge is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) + if self.MaxAge is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType785', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') + if self.AgeQualifyingCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 + value = find_attr_value_('MinAge', node) + if value is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + self.MinAge = self.gds_parse_integer(value, node, 'MinAge') + if self.MinAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 + value = find_attr_value_('MaxAge', node) + if value is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') + if self.MaxAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class AdditionalGuestAmountType785 + + +class RateDescriptionType786(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, RateDescriptionType786) + if subclass is not None: + return subclass(*args_, **kwargs_) + if RateDescriptionType786.subclass: + return RateDescriptionType786.subclass(*args_, **kwargs_) + else: + return RateDescriptionType786(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_NameType789(self, value): + # Validate type NameType789, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['included services'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType789' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType786', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateDescriptionType786') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'RateDescriptionType786': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateDescriptionType786') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateDescriptionType786', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateDescriptionType786'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType786', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType789(self.Name) # validate type NameType789 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + obj_ = ListItemType787.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ListItem.append(obj_) + obj_.original_tagname_ = 'ListItem' +# end class RateDescriptionType786 + + +class ListItemType787(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ListItem = _cast(int, ListItem) + self.ListItem_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ListItemType787) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ListItemType787.subclass: + return ListItemType787.subclass(*args_, **kwargs_) + else: + return ListItemType787(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_LanguageType788(self, value): + # Validate type LanguageType788, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType788_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType788_patterns_, )) + validate_LanguageType788_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType787', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType787') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ListItemType787': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType787') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType787'): + if self.ListItem is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType787', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('ListItem', node) + if value is not None and 'ListItem' not in already_processed: + already_processed.add('ListItem') + self.ListItem = self.gds_parse_integer(value, node, 'ListItem') + if self.ListItem < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType788(self.Language) # validate type LanguageType788 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ListItemType787 + + +class MealsIncludedType790(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Breakfast = _cast(bool, Breakfast) + self.Breakfast_nsprefix_ = None + self.Lunch = _cast(bool, Lunch) + self.Lunch_nsprefix_ = None + self.Dinner = _cast(bool, Dinner) + self.Dinner_nsprefix_ = None + self.MealPlanCodes = _cast(None, MealPlanCodes) + self.MealPlanCodes_nsprefix_ = None + self.MealPlanIndicator = _cast(None, MealPlanIndicator) + self.MealPlanIndicator_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, MealsIncludedType790) + if subclass is not None: + return subclass(*args_, **kwargs_) + if MealsIncludedType790.subclass: + return MealsIncludedType790.subclass(*args_, **kwargs_) + else: + return MealsIncludedType790(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Breakfast(self): + return self.Breakfast + def set_Breakfast(self, Breakfast): + self.Breakfast = Breakfast + def get_Lunch(self): + return self.Lunch + def set_Lunch(self, Lunch): + self.Lunch = Lunch + def get_Dinner(self): + return self.Dinner + def set_Dinner(self, Dinner): + self.Dinner = Dinner + def get_MealPlanCodes(self): + return self.MealPlanCodes + def set_MealPlanCodes(self, MealPlanCodes): + self.MealPlanCodes = MealPlanCodes + def get_MealPlanIndicator(self): + return self.MealPlanIndicator + def set_MealPlanIndicator(self, MealPlanIndicator): + self.MealPlanIndicator = MealPlanIndicator + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_MealPlanCodesType791(self, value): + # Validate type MealPlanCodesType791, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '3', '10', '12', '14'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType791' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MealPlanIndicatorType792(self, value): + # Validate type MealPlanIndicatorType792, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', 'true'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType792' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType790', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType790') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'MealsIncludedType790': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType790') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType790', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType790'): + if self.Breakfast is not None and 'Breakfast' not in already_processed: + already_processed.add('Breakfast') + outfile.write(' Breakfast="%s"' % self.gds_format_boolean(self.Breakfast, input_name='Breakfast')) + if self.Lunch is not None and 'Lunch' not in already_processed: + already_processed.add('Lunch') + outfile.write(' Lunch="%s"' % self.gds_format_boolean(self.Lunch, input_name='Lunch')) + if self.Dinner is not None and 'Dinner' not in already_processed: + already_processed.add('Dinner') + outfile.write(' Dinner="%s"' % self.gds_format_boolean(self.Dinner, input_name='Dinner')) + if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) + if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType790', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Breakfast', node) + if value is not None and 'Breakfast' not in already_processed: + already_processed.add('Breakfast') + if value in ('true', '1'): + self.Breakfast = True + elif value in ('false', '0'): + self.Breakfast = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Breakfast) # validate type def_bool + value = find_attr_value_('Lunch', node) + if value is not None and 'Lunch' not in already_processed: + already_processed.add('Lunch') + if value in ('true', '1'): + self.Lunch = True + elif value in ('false', '0'): + self.Lunch = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Lunch) # validate type def_bool + value = find_attr_value_('Dinner', node) + if value is not None and 'Dinner' not in already_processed: + already_processed.add('Dinner') + if value in ('true', '1'): + self.Dinner = True + elif value in ('false', '0'): + self.Dinner = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Dinner) # validate type def_bool + value = find_attr_value_('MealPlanCodes', node) + if value is not None and 'MealPlanCodes' not in already_processed: + already_processed.add('MealPlanCodes') + self.MealPlanCodes = value + self.validate_MealPlanCodesType791(self.MealPlanCodes) # validate type MealPlanCodesType791 + value = find_attr_value_('MealPlanIndicator', node) + if value is not None and 'MealPlanIndicator' not in already_processed: + already_processed.add('MealPlanIndicator') + self.MealPlanIndicator = value + self.validate_MealPlanIndicatorType792(self.MealPlanIndicator) # validate type MealPlanIndicatorType792 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class MealsIncludedType790 + + +class SupplementsType795(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Supplement=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Supplement is None: + self.Supplement = [] + else: + self.Supplement = Supplement + self.Supplement_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SupplementsType795) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SupplementsType795.subclass: + return SupplementsType795.subclass(*args_, **kwargs_) + else: + return SupplementsType795(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Supplement(self): + return self.Supplement + def set_Supplement(self, Supplement): + self.Supplement = Supplement + def add_Supplement(self, value): + self.Supplement.append(value) + def insert_Supplement_at(self, index, value): + self.Supplement.insert(index, value) + def replace_Supplement_at(self, index, value): + self.Supplement[index] = value + def has__content(self): + if ( + self.Supplement + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType795', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementsType795') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SupplementsType795': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementsType795') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementsType795', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementsType795'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType795', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Supplement_ in self.Supplement: + namespaceprefix_ = self.Supplement_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplement_nsprefix_) else '' + Supplement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplement', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Supplement': + obj_ = SupplementType796.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Supplement.append(obj_) + obj_.original_tagname_ = 'Supplement' +# end class SupplementsType795 + + +class SupplementType796(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AddToBasicRateIndicator = _cast(None, AddToBasicRateIndicator) + self.AddToBasicRateIndicator_nsprefix_ = None + self.ChargeTypeCode = _cast(None, ChargeTypeCode) + self.ChargeTypeCode_nsprefix_ = None + self.Amount = _cast(float, Amount) + self.Amount_nsprefix_ = None + self.InvType = _cast(None, InvType) + self.InvType_nsprefix_ = None + self.InvCode = _cast(None, InvCode) + self.InvCode_nsprefix_ = None + self.MandatoryIndicator = _cast(bool, MandatoryIndicator) + self.MandatoryIndicator_nsprefix_ = None + self.Start = _cast(None, Start) + self.Start_nsprefix_ = None + self.End = _cast(None, End) + self.End_nsprefix_ = None + self.PrerequisiteInventory = PrerequisiteInventory + self.PrerequisiteInventory_nsprefix_ = None + if Description is None: + self.Description = [] + else: + self.Description = Description + self.Description_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SupplementType796) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SupplementType796.subclass: + return SupplementType796.subclass(*args_, **kwargs_) + else: + return SupplementType796(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PrerequisiteInventory(self): + return self.PrerequisiteInventory + def set_PrerequisiteInventory(self, PrerequisiteInventory): + self.PrerequisiteInventory = PrerequisiteInventory + def get_Description(self): + return self.Description + def set_Description(self, Description): + self.Description = Description + def add_Description(self, value): + self.Description.append(value) + def insert_Description_at(self, index, value): + self.Description.insert(index, value) + def replace_Description_at(self, index, value): + self.Description[index] = value + def get_AddToBasicRateIndicator(self): + return self.AddToBasicRateIndicator + def set_AddToBasicRateIndicator(self, AddToBasicRateIndicator): + self.AddToBasicRateIndicator = AddToBasicRateIndicator + def get_ChargeTypeCode(self): + return self.ChargeTypeCode + def set_ChargeTypeCode(self, ChargeTypeCode): + self.ChargeTypeCode = ChargeTypeCode + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_InvType(self): + return self.InvType + def set_InvType(self, InvType): + self.InvType = InvType + def get_InvCode(self): + return self.InvCode + def set_InvCode(self, InvCode): + self.InvCode = InvCode + def get_MandatoryIndicator(self): + return self.MandatoryIndicator + def set_MandatoryIndicator(self, MandatoryIndicator): + self.MandatoryIndicator = MandatoryIndicator + def get_Start(self): + return self.Start + def set_Start(self, Start): + self.Start = Start + def get_End(self): + return self.End + def set_End(self, End): + self.End = End + def validate_AddToBasicRateIndicatorType804(self, value): + # Validate type AddToBasicRateIndicatorType804, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', 'true'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AddToBasicRateIndicatorType804' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_ChargeTypeCodeType805(self, value): + # Validate type ChargeTypeCodeType805, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1', '12', '18', '19', '20', '21', '24'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeTypeCodeType805' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_InvTypeType806(self, value): + # Validate type InvTypeType806, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['EXTRA', 'ALPINEBITSEXTRA'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType806' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def validate_def_date(self, value): + # Validate type def_date, a restriction on xs:date. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, datetime_.date): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) + return False + value = str(value) + if not self.gds_validate_simple_patterns( + self.validate_def_date_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) + validate_def_date_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + self.PrerequisiteInventory is not None or + self.Description + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType796', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementType796') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SupplementType796': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementType796') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementType796', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementType796'): + if self.AddToBasicRateIndicator is not None and 'AddToBasicRateIndicator' not in already_processed: + already_processed.add('AddToBasicRateIndicator') + outfile.write(' AddToBasicRateIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AddToBasicRateIndicator), input_name='AddToBasicRateIndicator')), )) + if self.ChargeTypeCode is not None and 'ChargeTypeCode' not in already_processed: + already_processed.add('ChargeTypeCode') + outfile.write(' ChargeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeTypeCode), input_name='ChargeTypeCode')), )) + if self.Amount is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) + if self.InvType is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) + if self.InvCode is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) + if self.MandatoryIndicator is not None and 'MandatoryIndicator' not in already_processed: + already_processed.add('MandatoryIndicator') + outfile.write(' MandatoryIndicator="%s"' % self.gds_format_boolean(self.MandatoryIndicator, input_name='MandatoryIndicator')) + if self.Start is not None and 'Start' not in already_processed: + already_processed.add('Start') + outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) + if self.End is not None and 'End' not in already_processed: + already_processed.add('End') + outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType796', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PrerequisiteInventory is not None: + namespaceprefix_ = self.PrerequisiteInventory_nsprefix_ + ':' if (UseCapturedNS_ and self.PrerequisiteInventory_nsprefix_) else '' + self.PrerequisiteInventory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PrerequisiteInventory', pretty_print=pretty_print) + for Description_ in self.Description: + namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' + Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AddToBasicRateIndicator', node) + if value is not None and 'AddToBasicRateIndicator' not in already_processed: + already_processed.add('AddToBasicRateIndicator') + self.AddToBasicRateIndicator = value + self.validate_AddToBasicRateIndicatorType804(self.AddToBasicRateIndicator) # validate type AddToBasicRateIndicatorType804 + value = find_attr_value_('ChargeTypeCode', node) + if value is not None and 'ChargeTypeCode' not in already_processed: + already_processed.add('ChargeTypeCode') + self.ChargeTypeCode = value + self.validate_ChargeTypeCodeType805(self.ChargeTypeCode) # validate type ChargeTypeCodeType805 + value = find_attr_value_('Amount', node) + if value is not None and 'Amount' not in already_processed: + already_processed.add('Amount') + value = self.gds_parse_decimal(value, node, 'Amount') + self.Amount = value + self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 + value = find_attr_value_('InvType', node) + if value is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + self.InvType = value + self.validate_InvTypeType806(self.InvType) # validate type InvTypeType806 + value = find_attr_value_('InvCode', node) + if value is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + self.InvCode = value + self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 + value = find_attr_value_('MandatoryIndicator', node) + if value is not None and 'MandatoryIndicator' not in already_processed: + already_processed.add('MandatoryIndicator') + if value in ('true', '1'): + self.MandatoryIndicator = True + elif value in ('false', '0'): + self.MandatoryIndicator = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.MandatoryIndicator) # validate type def_bool + value = find_attr_value_('Start', node) + if value is not None and 'Start' not in already_processed: + already_processed.add('Start') + try: + self.Start = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Start): %s' % exp) + self.validate_def_date(self.Start) # validate type def_date + value = find_attr_value_('End', node) + if value is not None and 'End' not in already_processed: + already_processed.add('End') + try: + self.End = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (End): %s' % exp) + self.validate_def_date(self.End) # validate type def_date + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PrerequisiteInventory': + obj_ = PrerequisiteInventoryType797.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PrerequisiteInventory = obj_ + obj_.original_tagname_ = 'PrerequisiteInventory' + elif nodeName_ == 'Description': + obj_ = DescriptionType799.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Description.append(obj_) + obj_.original_tagname_ = 'Description' +# end class SupplementType796 + + +class PrerequisiteInventoryType797(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, InvCode=None, InvType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.InvCode = _cast(None, InvCode) + self.InvCode_nsprefix_ = None + self.InvType = _cast(None, InvType) + self.InvType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PrerequisiteInventoryType797) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PrerequisiteInventoryType797.subclass: + return PrerequisiteInventoryType797.subclass(*args_, **kwargs_) + else: + return PrerequisiteInventoryType797(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_InvCode(self): + return self.InvCode + def set_InvCode(self, InvCode): + self.InvCode = InvCode + def get_InvType(self): + return self.InvType + def set_InvType(self, InvType): + self.InvType = InvType + def validate_StringLength1to16(self, value): + # Validate type StringLength1to16, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 16: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_InvTypeType798(self, value): + # Validate type InvTypeType798, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITSDOW', 'ROOMTYPE'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType798' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType797', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrerequisiteInventoryType797') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PrerequisiteInventoryType797': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrerequisiteInventoryType797') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrerequisiteInventoryType797', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrerequisiteInventoryType797'): + if self.InvCode is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) + if self.InvType is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType797', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('InvCode', node) + if value is not None and 'InvCode' not in already_processed: + already_processed.add('InvCode') + self.InvCode = value + self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 + value = find_attr_value_('InvType', node) + if value is not None and 'InvType' not in already_processed: + already_processed.add('InvType') + self.InvType = value + self.validate_InvTypeType798(self.InvType) # validate type InvTypeType798 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class PrerequisiteInventoryType797 + + +class DescriptionType799(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + if Image is None: + self.Image = [] + else: + self.Image = Image + self.Image_nsprefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + if URL is None: + self.URL = [] + else: + self.URL = URL + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType799) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType799.subclass: + return DescriptionType799.subclass(*args_, **kwargs_) + else: + return DescriptionType799(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Image(self): + return self.Image + def set_Image(self, Image): + self.Image = Image + def add_Image(self, value): + self.Image.append(value) + def insert_Image_at(self, index, value): + self.Image.insert(index, value) + def replace_Image_at(self, index, value): + self.Image[index] = value + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def add_URL(self, value): + self.URL.append(value) + def insert_URL_at(self, index, value): + self.URL.insert(index, value) + def replace_URL_at(self, index, value): + self.URL[index] = value + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_NameType803(self, value): + # Validate type NameType803, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType803' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem or + self.Image or + self.Text or + self.URL + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType799', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType799') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType799': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType799') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType799', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType799'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType799', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) + for Image_ in self.Image: + namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + for URL_ in self.URL: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType803(self.Name) # validate type NameType803 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ListItem') + value_ = self.gds_validate_string(value_, node, 'ListItem') + self.ListItem.append(value_) + self.ListItem_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.ListItem[-1]) + elif nodeName_ == 'Image': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Image') + value_ = self.gds_validate_string(value_, node, 'Image') + self.Image.append(value_) + self.Image_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.Image[-1]) + elif nodeName_ == 'Text': + obj_ = TextType800.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' + elif nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL.append(value_) + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL[-1]) +# end class DescriptionType799 + + +class TextType800(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType800) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType800.subclass: + return TextType800.subclass(*args_, **kwargs_) + else: + return TextType800(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType801(self, value): + # Validate type TextFormatType801, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType801' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType802(self, value): + # Validate type LanguageType802, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType802_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType802_patterns_, )) + validate_LanguageType802_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType800', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType800') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType800': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType800') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType800'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType800', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType801(self.TextFormat) # validate type TextFormatType801 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType802(self.Language) # validate type LanguageType802 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType800 + + +class OffersType807(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Offer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Offer is None: + self.Offer = [] + else: + self.Offer = Offer + self.Offer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OffersType807) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OffersType807.subclass: + return OffersType807.subclass(*args_, **kwargs_) + else: + return OffersType807(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Offer(self): + return self.Offer + def set_Offer(self, Offer): + self.Offer = Offer + def add_Offer(self, value): + self.Offer.append(value) + def insert_Offer_at(self, index, value): + self.Offer.insert(index, value) + def replace_Offer_at(self, index, value): + self.Offer[index] = value + def has__content(self): + if ( + self.Offer + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType807', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OffersType807') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OffersType807': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OffersType807') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OffersType807', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OffersType807'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType807', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Offer_ in self.Offer: + namespaceprefix_ = self.Offer_nsprefix_ + ':' if (UseCapturedNS_ and self.Offer_nsprefix_) else '' + Offer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Offer': + obj_ = OfferType808.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Offer.append(obj_) + obj_.original_tagname_ = 'Offer' +# end class OffersType807 + + +class OfferType808(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, OfferRules=None, Discount=None, Guests=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.OfferRules = OfferRules + self.OfferRules_nsprefix_ = None + self.Discount = Discount + self.Discount_nsprefix_ = None + self.Guests = Guests + self.Guests_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OfferType808) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OfferType808.subclass: + return OfferType808.subclass(*args_, **kwargs_) + else: + return OfferType808(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_OfferRules(self): + return self.OfferRules + def set_OfferRules(self, OfferRules): + self.OfferRules = OfferRules + def get_Discount(self): + return self.Discount + def set_Discount(self, Discount): + self.Discount = Discount + def get_Guests(self): + return self.Guests + def set_Guests(self, Guests): + self.Guests = Guests + def has__content(self): + if ( + self.OfferRules is not None or + self.Discount is not None or + self.Guests is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType808', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferType808') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OfferType808': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferType808') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferType808', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferType808'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType808', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.OfferRules is not None: + namespaceprefix_ = self.OfferRules_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRules_nsprefix_) else '' + self.OfferRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRules', pretty_print=pretty_print) + if self.Discount is not None: + namespaceprefix_ = self.Discount_nsprefix_ + ':' if (UseCapturedNS_ and self.Discount_nsprefix_) else '' + self.Discount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Discount', pretty_print=pretty_print) + if self.Guests is not None: + namespaceprefix_ = self.Guests_nsprefix_ + ':' if (UseCapturedNS_ and self.Guests_nsprefix_) else '' + self.Guests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guests', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'OfferRules': + obj_ = OfferRulesType809.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.OfferRules = obj_ + obj_.original_tagname_ = 'OfferRules' + elif nodeName_ == 'Discount': + obj_ = DiscountType822.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Discount = obj_ + obj_.original_tagname_ = 'Discount' + elif nodeName_ == 'Guests': + obj_ = GuestsType825.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Guests = obj_ + obj_.original_tagname_ = 'Guests' +# end class OfferType808 + + +class OfferRulesType809(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, OfferRule=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.OfferRule = OfferRule + self.OfferRule_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OfferRulesType809) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OfferRulesType809.subclass: + return OfferRulesType809.subclass(*args_, **kwargs_) + else: + return OfferRulesType809(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_OfferRule(self): + return self.OfferRule + def set_OfferRule(self, OfferRule): + self.OfferRule = OfferRule + def has__content(self): + if ( + self.OfferRule is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType809', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRulesType809') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OfferRulesType809': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRulesType809') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRulesType809', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRulesType809'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType809', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.OfferRule is not None: + namespaceprefix_ = self.OfferRule_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRule_nsprefix_) else '' + self.OfferRule.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRule', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'OfferRule': + obj_ = OfferRuleType810.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.OfferRule = obj_ + obj_.original_tagname_ = 'OfferRule' +# end class OfferRulesType809 + + +class OfferRuleType810(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.MinAdvancedBookingOffset = _cast(None, MinAdvancedBookingOffset) + self.MinAdvancedBookingOffset_nsprefix_ = None + self.MaxAdvancedBookingOffset = _cast(None, MaxAdvancedBookingOffset) + self.MaxAdvancedBookingOffset_nsprefix_ = None + self.LengthsOfStay = LengthsOfStay + self.LengthsOfStay_nsprefix_ = None + self.DOW_Restrictions = DOW_Restrictions + self.DOW_Restrictions_nsprefix_ = None + if Occupancy is None: + self.Occupancy = [] + else: + self.Occupancy = Occupancy + self.Occupancy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OfferRuleType810) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OfferRuleType810.subclass: + return OfferRuleType810.subclass(*args_, **kwargs_) + else: + return OfferRuleType810(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthsOfStay(self): + return self.LengthsOfStay + def set_LengthsOfStay(self, LengthsOfStay): + self.LengthsOfStay = LengthsOfStay + def get_DOW_Restrictions(self): + return self.DOW_Restrictions + def set_DOW_Restrictions(self, DOW_Restrictions): + self.DOW_Restrictions = DOW_Restrictions + def get_Occupancy(self): + return self.Occupancy + def set_Occupancy(self, Occupancy): + self.Occupancy = Occupancy + def add_Occupancy(self, value): + self.Occupancy.append(value) + def insert_Occupancy_at(self, index, value): + self.Occupancy.insert(index, value) + def replace_Occupancy_at(self, index, value): + self.Occupancy[index] = value + def get_MinAdvancedBookingOffset(self): + return self.MinAdvancedBookingOffset + def set_MinAdvancedBookingOffset(self, MinAdvancedBookingOffset): + self.MinAdvancedBookingOffset = MinAdvancedBookingOffset + def get_MaxAdvancedBookingOffset(self): + return self.MaxAdvancedBookingOffset + def set_MaxAdvancedBookingOffset(self, MaxAdvancedBookingOffset): + self.MaxAdvancedBookingOffset = MaxAdvancedBookingOffset + def validate_MinAdvancedBookingOffsetType820(self, value): + # Validate type MinAdvancedBookingOffsetType820, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MinAdvancedBookingOffsetType820_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MinAdvancedBookingOffsetType820_patterns_, )) + validate_MinAdvancedBookingOffsetType820_patterns_ = [['^(P[0-9]+D)$']] + def validate_MaxAdvancedBookingOffsetType821(self, value): + # Validate type MaxAdvancedBookingOffsetType821, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_MaxAdvancedBookingOffsetType821_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaxAdvancedBookingOffsetType821_patterns_, )) + validate_MaxAdvancedBookingOffsetType821_patterns_ = [['^(P[0-9]+D)$']] + def has__content(self): + if ( + self.LengthsOfStay is not None or + self.DOW_Restrictions is not None or + self.Occupancy + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType810', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRuleType810') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OfferRuleType810': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRuleType810') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRuleType810', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRuleType810'): + if self.MinAdvancedBookingOffset is not None and 'MinAdvancedBookingOffset' not in already_processed: + already_processed.add('MinAdvancedBookingOffset') + outfile.write(' MinAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinAdvancedBookingOffset), input_name='MinAdvancedBookingOffset')), )) + if self.MaxAdvancedBookingOffset is not None and 'MaxAdvancedBookingOffset' not in already_processed: + already_processed.add('MaxAdvancedBookingOffset') + outfile.write(' MaxAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MaxAdvancedBookingOffset), input_name='MaxAdvancedBookingOffset')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType810', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.LengthsOfStay is not None: + namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' + self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) + if self.DOW_Restrictions is not None: + namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' + self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) + for Occupancy_ in self.Occupancy: + namespaceprefix_ = self.Occupancy_nsprefix_ + ':' if (UseCapturedNS_ and self.Occupancy_nsprefix_) else '' + Occupancy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Occupancy', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('MinAdvancedBookingOffset', node) + if value is not None and 'MinAdvancedBookingOffset' not in already_processed: + already_processed.add('MinAdvancedBookingOffset') + self.MinAdvancedBookingOffset = value + self.validate_MinAdvancedBookingOffsetType820(self.MinAdvancedBookingOffset) # validate type MinAdvancedBookingOffsetType820 + value = find_attr_value_('MaxAdvancedBookingOffset', node) + if value is not None and 'MaxAdvancedBookingOffset' not in already_processed: + already_processed.add('MaxAdvancedBookingOffset') + self.MaxAdvancedBookingOffset = value + self.validate_MaxAdvancedBookingOffsetType821(self.MaxAdvancedBookingOffset) # validate type MaxAdvancedBookingOffsetType821 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthsOfStay': + obj_ = LengthsOfStayType811.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthsOfStay = obj_ + obj_.original_tagname_ = 'LengthsOfStay' + elif nodeName_ == 'DOW_Restrictions': + obj_ = DOW_RestrictionsType815.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DOW_Restrictions = obj_ + obj_.original_tagname_ = 'DOW_Restrictions' + elif nodeName_ == 'Occupancy': + obj_ = OccupancyType818.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Occupancy.append(obj_) + obj_.original_tagname_ = 'Occupancy' +# end class OfferRuleType810 + + +class LengthsOfStayType811(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if LengthOfStay is None: + self.LengthOfStay = [] + else: + self.LengthOfStay = LengthOfStay + self.LengthOfStay_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthsOfStayType811) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthsOfStayType811.subclass: + return LengthsOfStayType811.subclass(*args_, **kwargs_) + else: + return LengthsOfStayType811(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LengthOfStay(self): + return self.LengthOfStay + def set_LengthOfStay(self, LengthOfStay): + self.LengthOfStay = LengthOfStay + def add_LengthOfStay(self, value): + self.LengthOfStay.append(value) + def insert_LengthOfStay_at(self, index, value): + self.LengthOfStay.insert(index, value) + def replace_LengthOfStay_at(self, index, value): + self.LengthOfStay[index] = value + def has__content(self): + if ( + self.LengthOfStay + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType811', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType811') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthsOfStayType811': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType811') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType811', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType811'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType811', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for LengthOfStay_ in self.LengthOfStay: + namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' + LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LengthOfStay': + obj_ = LengthOfStayType812.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LengthOfStay.append(obj_) + obj_.original_tagname_ = 'LengthOfStay' +# end class LengthsOfStayType811 + + +class LengthOfStayType812(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Time = _cast(float, Time) + self.Time_nsprefix_ = None + self.TimeUnit = _cast(None, TimeUnit) + self.TimeUnit_nsprefix_ = None + self.MinMaxMessageType = _cast(None, MinMaxMessageType) + self.MinMaxMessageType_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LengthOfStayType812) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LengthOfStayType812.subclass: + return LengthOfStayType812.subclass(*args_, **kwargs_) + else: + return LengthOfStayType812(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Time(self): + return self.Time + def set_Time(self, Time): + self.Time = Time + def get_TimeUnit(self): + return self.TimeUnit + def set_TimeUnit(self, TimeUnit): + self.TimeUnit = TimeUnit + def get_MinMaxMessageType(self): + return self.MinMaxMessageType + def set_MinMaxMessageType(self, MinMaxMessageType): + self.MinMaxMessageType = MinMaxMessageType + def validate_def_decimal_ge0(self, value): + # Validate type def_decimal_ge0, a restriction on xs:decimal. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, decimal_.Decimal): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) + return False + if value < 0.0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) + result = False + if not self.gds_validate_simple_patterns( + self.validate_def_decimal_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) + validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] + def validate_TimeUnitType813(self, value): + # Validate type TimeUnitType813, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['Day'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType813' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_MinMaxMessageTypeType814(self, value): + # Validate type MinMaxMessageTypeType814, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['SetMinLOS', 'SetMaxLOS', ''] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType814' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType812', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType812') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LengthOfStayType812': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType812') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType812', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType812'): + if self.Time is not None and 'Time' not in already_processed: + already_processed.add('Time') + outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) + if self.TimeUnit is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) + if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType812', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Time', node) + if value is not None and 'Time' not in already_processed: + already_processed.add('Time') + value = self.gds_parse_decimal(value, node, 'Time') + self.Time = value + self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 + value = find_attr_value_('TimeUnit', node) + if value is not None and 'TimeUnit' not in already_processed: + already_processed.add('TimeUnit') + self.TimeUnit = value + self.validate_TimeUnitType813(self.TimeUnit) # validate type TimeUnitType813 + value = find_attr_value_('MinMaxMessageType', node) + if value is not None and 'MinMaxMessageType' not in already_processed: + already_processed.add('MinMaxMessageType') + self.MinMaxMessageType = value + self.validate_MinMaxMessageTypeType814(self.MinMaxMessageType) # validate type MinMaxMessageTypeType814 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class LengthOfStayType812 + + +class DOW_RestrictionsType815(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + self.ArrivalDaysOfWeek_nsprefix_ = None + self.DepartureDaysOfWeek = DepartureDaysOfWeek + self.DepartureDaysOfWeek_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DOW_RestrictionsType815) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DOW_RestrictionsType815.subclass: + return DOW_RestrictionsType815.subclass(*args_, **kwargs_) + else: + return DOW_RestrictionsType815(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ArrivalDaysOfWeek(self): + return self.ArrivalDaysOfWeek + def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): + self.ArrivalDaysOfWeek = ArrivalDaysOfWeek + def get_DepartureDaysOfWeek(self): + return self.DepartureDaysOfWeek + def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): + self.DepartureDaysOfWeek = DepartureDaysOfWeek + def has__content(self): + if ( + self.ArrivalDaysOfWeek is not None or + self.DepartureDaysOfWeek is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType815', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType815') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType815': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType815') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType815', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType815'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType815', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ArrivalDaysOfWeek is not None: + namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' + self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) + if self.DepartureDaysOfWeek is not None: + namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' + self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ArrivalDaysOfWeek': + obj_ = ArrivalDaysOfWeekType816.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ArrivalDaysOfWeek = obj_ + obj_.original_tagname_ = 'ArrivalDaysOfWeek' + elif nodeName_ == 'DepartureDaysOfWeek': + obj_ = DepartureDaysOfWeekType817.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DepartureDaysOfWeek = obj_ + obj_.original_tagname_ = 'DepartureDaysOfWeek' +# end class DOW_RestrictionsType815 + + +class ArrivalDaysOfWeekType816(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ArrivalDaysOfWeekType816) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ArrivalDaysOfWeekType816.subclass: + return ArrivalDaysOfWeekType816.subclass(*args_, **kwargs_) + else: + return ArrivalDaysOfWeekType816(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType816', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType816') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType816': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType816') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType816', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType816'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType816', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class ArrivalDaysOfWeekType816 + + +class DepartureDaysOfWeekType817(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Mon = _cast(bool, Mon) + self.Mon_nsprefix_ = None + self.Tue = _cast(bool, Tue) + self.Tue_nsprefix_ = None + self.Weds = _cast(bool, Weds) + self.Weds_nsprefix_ = None + self.Thur = _cast(bool, Thur) + self.Thur_nsprefix_ = None + self.Fri = _cast(bool, Fri) + self.Fri_nsprefix_ = None + self.Sat = _cast(bool, Sat) + self.Sat_nsprefix_ = None + self.Sun = _cast(bool, Sun) + self.Sun_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DepartureDaysOfWeekType817) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DepartureDaysOfWeekType817.subclass: + return DepartureDaysOfWeekType817.subclass(*args_, **kwargs_) + else: + return DepartureDaysOfWeekType817(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Mon(self): + return self.Mon + def set_Mon(self, Mon): + self.Mon = Mon + def get_Tue(self): + return self.Tue + def set_Tue(self, Tue): + self.Tue = Tue + def get_Weds(self): + return self.Weds + def set_Weds(self, Weds): + self.Weds = Weds + def get_Thur(self): + return self.Thur + def set_Thur(self, Thur): + self.Thur = Thur + def get_Fri(self): + return self.Fri + def set_Fri(self, Fri): + self.Fri = Fri + def get_Sat(self): + return self.Sat + def set_Sat(self, Sat): + self.Sat = Sat + def get_Sun(self): + return self.Sun + def set_Sun(self, Sun): + self.Sun = Sun + def validate_def_bool(self, value): + # Validate type def_bool, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not self.gds_validate_simple_patterns( + self.validate_def_bool_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) + validate_def_bool_patterns_ = [['^(\\S+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType817', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType817') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType817': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType817') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType817', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType817'): + if self.Mon is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) + if self.Tue is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) + if self.Weds is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) + if self.Thur is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) + if self.Fri is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) + if self.Sat is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) + if self.Sun is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType817', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Mon', node) + if value is not None and 'Mon' not in already_processed: + already_processed.add('Mon') + if value in ('true', '1'): + self.Mon = True + elif value in ('false', '0'): + self.Mon = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Mon) # validate type def_bool + value = find_attr_value_('Tue', node) + if value is not None and 'Tue' not in already_processed: + already_processed.add('Tue') + if value in ('true', '1'): + self.Tue = True + elif value in ('false', '0'): + self.Tue = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Tue) # validate type def_bool + value = find_attr_value_('Weds', node) + if value is not None and 'Weds' not in already_processed: + already_processed.add('Weds') + if value in ('true', '1'): + self.Weds = True + elif value in ('false', '0'): + self.Weds = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Weds) # validate type def_bool + value = find_attr_value_('Thur', node) + if value is not None and 'Thur' not in already_processed: + already_processed.add('Thur') + if value in ('true', '1'): + self.Thur = True + elif value in ('false', '0'): + self.Thur = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Thur) # validate type def_bool + value = find_attr_value_('Fri', node) + if value is not None and 'Fri' not in already_processed: + already_processed.add('Fri') + if value in ('true', '1'): + self.Fri = True + elif value in ('false', '0'): + self.Fri = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Fri) # validate type def_bool + value = find_attr_value_('Sat', node) + if value is not None and 'Sat' not in already_processed: + already_processed.add('Sat') + if value in ('true', '1'): + self.Sat = True + elif value in ('false', '0'): + self.Sat = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sat) # validate type def_bool + value = find_attr_value_('Sun', node) + if value is not None and 'Sun' not in already_processed: + already_processed.add('Sun') + if value in ('true', '1'): + self.Sun = True + elif value in ('false', '0'): + self.Sun = False + else: + raise_parse_error(node, 'Bad boolean attribute') + self.validate_def_bool(self.Sun) # validate type def_bool + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DepartureDaysOfWeekType817 + + +class OccupancyType818(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AgeQualifyingCode = _cast(None, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + self.MinAge = _cast(int, MinAge) + self.MinAge_nsprefix_ = None + self.MaxAge = _cast(int, MaxAge) + self.MaxAge_nsprefix_ = None + self.MinOccupancy = _cast(int, MinOccupancy) + self.MinOccupancy_nsprefix_ = None + self.MaxOccupancy = _cast(int, MaxOccupancy) + self.MaxOccupancy_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OccupancyType818) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OccupancyType818.subclass: + return OccupancyType818.subclass(*args_, **kwargs_) + else: + return OccupancyType818(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def get_MinAge(self): + return self.MinAge + def set_MinAge(self, MinAge): + self.MinAge = MinAge + def get_MaxAge(self): + return self.MaxAge + def set_MaxAge(self, MaxAge): + self.MaxAge = MaxAge + def get_MinOccupancy(self): + return self.MinOccupancy + def set_MinOccupancy(self, MinOccupancy): + self.MinOccupancy = MinOccupancy + def get_MaxOccupancy(self): + return self.MaxOccupancy + def set_MaxOccupancy(self, MaxOccupancy): + self.MaxOccupancy = MaxOccupancy + def validate_AgeQualifyingCodeType819(self, value): + # Validate type AgeQualifyingCodeType819, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['8', '10'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AgeQualifyingCodeType819' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType818', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OccupancyType818') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OccupancyType818': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OccupancyType818') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OccupancyType818', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OccupancyType818'): + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AgeQualifyingCode), input_name='AgeQualifyingCode')), )) + if self.MinAge is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) + if self.MaxAge is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) + if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) + if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType818', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = value + self.validate_AgeQualifyingCodeType819(self.AgeQualifyingCode) # validate type AgeQualifyingCodeType819 + value = find_attr_value_('MinAge', node) + if value is not None and 'MinAge' not in already_processed: + already_processed.add('MinAge') + self.MinAge = self.gds_parse_integer(value, node, 'MinAge') + if self.MinAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 + value = find_attr_value_('MaxAge', node) + if value is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') + if self.MaxAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 + value = find_attr_value_('MinOccupancy', node) + if value is not None and 'MinOccupancy' not in already_processed: + already_processed.add('MinOccupancy') + self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') + if self.MinOccupancy < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MinOccupancy) # validate type def_int_ge0 + value = find_attr_value_('MaxOccupancy', node) + if value is not None and 'MaxOccupancy' not in already_processed: + already_processed.add('MaxOccupancy') + self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') + if self.MaxOccupancy <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class OccupancyType818 + + +class DiscountType822(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Percent = _cast(None, Percent) + self.Percent_nsprefix_ = None + self.NightsRequired = _cast(int, NightsRequired) + self.NightsRequired_nsprefix_ = None + self.NightsDiscounted = _cast(int, NightsDiscounted) + self.NightsDiscounted_nsprefix_ = None + self.DiscountPattern = _cast(None, DiscountPattern) + self.DiscountPattern_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DiscountType822) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DiscountType822.subclass: + return DiscountType822.subclass(*args_, **kwargs_) + else: + return DiscountType822(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Percent(self): + return self.Percent + def set_Percent(self, Percent): + self.Percent = Percent + def get_NightsRequired(self): + return self.NightsRequired + def set_NightsRequired(self, NightsRequired): + self.NightsRequired = NightsRequired + def get_NightsDiscounted(self): + return self.NightsDiscounted + def set_NightsDiscounted(self, NightsDiscounted): + self.NightsDiscounted = NightsDiscounted + def get_DiscountPattern(self): + return self.DiscountPattern + def set_DiscountPattern(self, DiscountPattern): + self.DiscountPattern = DiscountPattern + def validate_PercentType823(self, value): + # Validate type PercentType823, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['100'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on PercentType823' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_DiscountPatternType824(self, value): + # Validate type DiscountPatternType824, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_DiscountPatternType824_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DiscountPatternType824_patterns_, )) + validate_DiscountPatternType824_patterns_ = [['^(0*1*)$']] + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType822', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DiscountType822') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DiscountType822': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DiscountType822') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DiscountType822', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DiscountType822'): + if self.Percent is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + outfile.write(' Percent=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Percent), input_name='Percent')), )) + if self.NightsRequired is not None and 'NightsRequired' not in already_processed: + already_processed.add('NightsRequired') + outfile.write(' NightsRequired="%s"' % self.gds_format_integer(self.NightsRequired, input_name='NightsRequired')) + if self.NightsDiscounted is not None and 'NightsDiscounted' not in already_processed: + already_processed.add('NightsDiscounted') + outfile.write(' NightsDiscounted="%s"' % self.gds_format_integer(self.NightsDiscounted, input_name='NightsDiscounted')) + if self.DiscountPattern is not None and 'DiscountPattern' not in already_processed: + already_processed.add('DiscountPattern') + outfile.write(' DiscountPattern=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.DiscountPattern), input_name='DiscountPattern')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType822', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Percent', node) + if value is not None and 'Percent' not in already_processed: + already_processed.add('Percent') + self.Percent = value + self.validate_PercentType823(self.Percent) # validate type PercentType823 + value = find_attr_value_('NightsRequired', node) + if value is not None and 'NightsRequired' not in already_processed: + already_processed.add('NightsRequired') + self.NightsRequired = self.gds_parse_integer(value, node, 'NightsRequired') + if self.NightsRequired <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.NightsRequired) # validate type def_int_gt0 + value = find_attr_value_('NightsDiscounted', node) + if value is not None and 'NightsDiscounted' not in already_processed: + already_processed.add('NightsDiscounted') + self.NightsDiscounted = self.gds_parse_integer(value, node, 'NightsDiscounted') + if self.NightsDiscounted <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.NightsDiscounted) # validate type def_int_gt0 + value = find_attr_value_('DiscountPattern', node) + if value is not None and 'DiscountPattern' not in already_processed: + already_processed.add('DiscountPattern') + self.DiscountPattern = value + self.validate_DiscountPatternType824(self.DiscountPattern) # validate type DiscountPatternType824 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class DiscountType822 + + +class GuestsType825(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Guest=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Guest = Guest + self.Guest_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestsType825) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestsType825.subclass: + return GuestsType825.subclass(*args_, **kwargs_) + else: + return GuestsType825(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Guest(self): + return self.Guest + def set_Guest(self, Guest): + self.Guest = Guest + def has__content(self): + if ( + self.Guest is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType825', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestsType825') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestsType825': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestsType825') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestsType825', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestsType825'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType825', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Guest is not None: + namespaceprefix_ = self.Guest_nsprefix_ + ':' if (UseCapturedNS_ and self.Guest_nsprefix_) else '' + self.Guest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guest', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Guest': + obj_ = GuestType826.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Guest = obj_ + obj_.original_tagname_ = 'Guest' +# end class GuestsType825 + + +class GuestType826(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) + self.AgeQualifyingCode_nsprefix_ = None + self.MaxAge = _cast(int, MaxAge) + self.MaxAge_nsprefix_ = None + self.MinCount = _cast(int, MinCount) + self.MinCount_nsprefix_ = None + self.FirstQualifyingPosition = _cast(None, FirstQualifyingPosition) + self.FirstQualifyingPosition_nsprefix_ = None + self.LastQualifyingPosition = _cast(int, LastQualifyingPosition) + self.LastQualifyingPosition_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, GuestType826) + if subclass is not None: + return subclass(*args_, **kwargs_) + if GuestType826.subclass: + return GuestType826.subclass(*args_, **kwargs_) + else: + return GuestType826(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AgeQualifyingCode(self): + return self.AgeQualifyingCode + def set_AgeQualifyingCode(self, AgeQualifyingCode): + self.AgeQualifyingCode = AgeQualifyingCode + def get_MaxAge(self): + return self.MaxAge + def set_MaxAge(self, MaxAge): + self.MaxAge = MaxAge + def get_MinCount(self): + return self.MinCount + def set_MinCount(self, MinCount): + self.MinCount = MinCount + def get_FirstQualifyingPosition(self): + return self.FirstQualifyingPosition + def set_FirstQualifyingPosition(self, FirstQualifyingPosition): + self.FirstQualifyingPosition = FirstQualifyingPosition + def get_LastQualifyingPosition(self): + return self.LastQualifyingPosition + def set_LastQualifyingPosition(self, LastQualifyingPosition): + self.LastQualifyingPosition = LastQualifyingPosition + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_int_ge0(self, value): + # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_ge0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) + validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] + def validate_FirstQualifyingPositionType827(self, value): + # Validate type FirstQualifyingPositionType827, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['1'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on FirstQualifyingPositionType827' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType826', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestType826') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'GuestType826': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestType826') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestType826', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestType826'): + if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) + if self.MaxAge is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) + if self.MinCount is not None and 'MinCount' not in already_processed: + already_processed.add('MinCount') + outfile.write(' MinCount="%s"' % self.gds_format_integer(self.MinCount, input_name='MinCount')) + if self.FirstQualifyingPosition is not None and 'FirstQualifyingPosition' not in already_processed: + already_processed.add('FirstQualifyingPosition') + outfile.write(' FirstQualifyingPosition=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.FirstQualifyingPosition), input_name='FirstQualifyingPosition')), )) + if self.LastQualifyingPosition is not None and 'LastQualifyingPosition' not in already_processed: + already_processed.add('LastQualifyingPosition') + outfile.write(' LastQualifyingPosition="%s"' % self.gds_format_integer(self.LastQualifyingPosition, input_name='LastQualifyingPosition')) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType826', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('AgeQualifyingCode', node) + if value is not None and 'AgeQualifyingCode' not in already_processed: + already_processed.add('AgeQualifyingCode') + self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') + if self.AgeQualifyingCode <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 + value = find_attr_value_('MaxAge', node) + if value is not None and 'MaxAge' not in already_processed: + already_processed.add('MaxAge') + self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') + if self.MaxAge <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 + value = find_attr_value_('MinCount', node) + if value is not None and 'MinCount' not in already_processed: + already_processed.add('MinCount') + self.MinCount = self.gds_parse_integer(value, node, 'MinCount') + if self.MinCount < 0: + raise_parse_error(node, 'Invalid NonNegativeInteger') + self.validate_def_int_ge0(self.MinCount) # validate type def_int_ge0 + value = find_attr_value_('FirstQualifyingPosition', node) + if value is not None and 'FirstQualifyingPosition' not in already_processed: + already_processed.add('FirstQualifyingPosition') + self.FirstQualifyingPosition = value + self.validate_FirstQualifyingPositionType827(self.FirstQualifyingPosition) # validate type FirstQualifyingPositionType827 + value = find_attr_value_('LastQualifyingPosition', node) + if value is not None and 'LastQualifyingPosition' not in already_processed: + already_processed.add('LastQualifyingPosition') + self.LastQualifyingPosition = self.gds_parse_integer(value, node, 'LastQualifyingPosition') + if self.LastQualifyingPosition <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.LastQualifyingPosition) # validate type def_int_gt0 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class GuestType826 + + +class DescriptionType828(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Name = _cast(None, Name) + self.Name_nsprefix_ = None + if ListItem is None: + self.ListItem = [] + else: + self.ListItem = ListItem + self.ListItem_nsprefix_ = None + if Image is None: + self.Image = [] + else: + self.Image = Image + self.Image_nsprefix_ = None + if Text is None: + self.Text = [] + else: + self.Text = Text + self.Text_nsprefix_ = None + if URL is None: + self.URL = [] + else: + self.URL = URL + self.URL_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DescriptionType828) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DescriptionType828.subclass: + return DescriptionType828.subclass(*args_, **kwargs_) + else: + return DescriptionType828(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ListItem(self): + return self.ListItem + def set_ListItem(self, ListItem): + self.ListItem = ListItem + def add_ListItem(self, value): + self.ListItem.append(value) + def insert_ListItem_at(self, index, value): + self.ListItem.insert(index, value) + def replace_ListItem_at(self, index, value): + self.ListItem[index] = value + def get_Image(self): + return self.Image + def set_Image(self, Image): + self.Image = Image + def add_Image(self, value): + self.Image.append(value) + def insert_Image_at(self, index, value): + self.Image.insert(index, value) + def replace_Image_at(self, index, value): + self.Image[index] = value + def get_Text(self): + return self.Text + def set_Text(self, Text): + self.Text = Text + def add_Text(self, value): + self.Text.append(value) + def insert_Text_at(self, index, value): + self.Text.insert(index, value) + def replace_Text_at(self, index, value): + self.Text[index] = value + def get_URL(self): + return self.URL + def set_URL(self, URL): + self.URL = URL + def add_URL(self, value): + self.URL.append(value) + def insert_URL_at(self, index, value): + self.URL.insert(index, value) + def replace_URL_at(self, index, value): + self.URL[index] = value + def get_Name(self): + return self.Name + def set_Name(self, Name): + self.Name = Name + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_def_url_string(self, value): + result = True + # Validate type def_url_string, a restriction on xs:anyURI. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_url_string_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) + result = False + return result + validate_def_url_string_patterns_ = [['^(https?://.+)$']] + def validate_NameType832(self, value): + # Validate type NameType832, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType832' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.ListItem or + self.Image or + self.Text or + self.URL + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType828', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType828') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DescriptionType828': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType828') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType828', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType828'): + if self.Name is not None and 'Name' not in already_processed: + already_processed.add('Name') + outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType828', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ListItem_ in self.ListItem: + namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) + for Image_ in self.Image: + namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) + for Text_ in self.Text: + namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' + Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) + for URL_ in self.URL: + namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Name', node) + if value is not None and 'Name' not in already_processed: + already_processed.add('Name') + self.Name = value + self.validate_NameType832(self.Name) # validate type NameType832 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ListItem': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ListItem') + value_ = self.gds_validate_string(value_, node, 'ListItem') + self.ListItem.append(value_) + self.ListItem_nsprefix_ = child_.prefix + # validate type def_nonempty_string + self.validate_def_nonempty_string(self.ListItem[-1]) + elif nodeName_ == 'Image': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Image') + value_ = self.gds_validate_string(value_, node, 'Image') + self.Image.append(value_) + self.Image_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.Image[-1]) + elif nodeName_ == 'Text': + obj_ = TextType829.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text.append(obj_) + obj_.original_tagname_ = 'Text' + elif nodeName_ == 'URL': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'URL') + value_ = self.gds_validate_string(value_, node, 'URL') + self.URL.append(value_) + self.URL_nsprefix_ = child_.prefix + # validate type def_url_string + self.validate_def_url_string(self.URL[-1]) +# end class DescriptionType828 + + +class TextType829(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TextFormat = _cast(None, TextFormat) + self.TextFormat_nsprefix_ = None + self.Language = _cast(None, Language) + self.Language_nsprefix_ = None + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TextType829) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TextType829.subclass: + return TextType829.subclass(*args_, **kwargs_) + else: + return TextType829(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TextFormat(self): + return self.TextFormat + def set_TextFormat(self, TextFormat): + self.TextFormat = TextFormat + def get_Language(self): + return self.Language + def set_Language(self, Language): + self.Language = Language + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_nonempty_string(self, value): + result = True + # Validate type def_nonempty_string, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TextFormatType830(self, value): + # Validate type TextFormatType830, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['PlainText', 'HTML'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType830' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_LanguageType831(self, value): + # Validate type LanguageType831, a restriction on xs:language. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_LanguageType831_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType831_patterns_, )) + validate_LanguageType831_patterns_ = [['^([a-z][a-z])$']] + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType829', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType829') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TextType829': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType829') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType829'): + if self.TextFormat is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) + if self.Language is not None and 'Language' not in already_processed: + already_processed.add('Language') + outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType829', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('TextFormat', node) + if value is not None and 'TextFormat' not in already_processed: + already_processed.add('TextFormat') + self.TextFormat = value + self.validate_TextFormatType830(self.TextFormat) # validate type TextFormatType830 + value = find_attr_value_('Language', node) + if value is not None and 'Language' not in already_processed: + already_processed.add('Language') + self.Language = value + self.validate_LanguageType831(self.Language) # validate type LanguageType831 + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class TextType829 + + +class ErrorsType835(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Error=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Error is None: + self.Error = [] + else: + self.Error = Error + self.Error_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorsType835) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorsType835.subclass: + return ErrorsType835.subclass(*args_, **kwargs_) + else: + return ErrorsType835(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Error(self): + return self.Error + def set_Error(self, Error): + self.Error = Error + def add_Error(self, value): + self.Error.append(value) + def insert_Error_at(self, index, value): + self.Error.insert(index, value) + def replace_Error_at(self, index, value): + self.Error[index] = value + def has__content(self): + if ( + self.Error + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType835', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType835') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorsType835': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType835') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType835', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType835'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType835', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Error_ in self.Error: + namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' + Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Error': + obj_ = ErrorType836.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Error.append(obj_) + obj_.original_tagname_ = 'Error' +# end class ErrorsType835 + + +class ErrorType836(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(None, Type) + self.Type_nsprefix_ = None + self.Code = _cast(int, Code) + self.Code_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ErrorType836) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ErrorType836.subclass: + return ErrorType836.subclass(*args_, **kwargs_) + else: + return ErrorType836(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_Code(self): + return self.Code + def set_Code(self, Code): + self.Code = Code + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_TypeType837(self, value): + # Validate type TypeType837, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['11', '13'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType837' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType836', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType836') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ErrorType836': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType836') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType836'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) + if self.Code is not None and 'Code' not in already_processed: + already_processed.add('Code') + outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType836', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = value + self.validate_TypeType837(self.Type) # validate type TypeType837 + value = find_attr_value_('Code', node) + if value is not None and 'Code' not in already_processed: + already_processed.add('Code') + self.Code = self.gds_parse_integer(value, node, 'Code') + if self.Code <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class ErrorType836 + + +class WarningsType838(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Warning=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if Warning is None: + self.Warning = [] + else: + self.Warning = Warning + self.Warning_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningsType838) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningsType838.subclass: + return WarningsType838.subclass(*args_, **kwargs_) + else: + return WarningsType838(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Warning(self): + return self.Warning + def set_Warning(self, Warning): + self.Warning = Warning + def add_Warning(self, value): + self.Warning.append(value) + def insert_Warning_at(self, index, value): + self.Warning.insert(index, value) + def replace_Warning_at(self, index, value): + self.Warning[index] = value + def has__content(self): + if ( + self.Warning + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType838', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType838') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningsType838': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType838') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType838', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType838'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType838', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Warning_ in self.Warning: + namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' + Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Warning': + obj_ = WarningType839.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Warning.append(obj_) + obj_.original_tagname_ = 'Warning' +# end class WarningsType838 + + +class WarningType839(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Type = _cast(int, Type) + self.Type_nsprefix_ = None + self.RecordID = _cast(None, RecordID) + self.RecordID_nsprefix_ = None + self.Status = _cast(None, Status) + self.Status_nsprefix_ = None + self.valueOf_ = valueOf_ + if mixedclass_ is None: + self.mixedclass_ = MixedContainer + else: + self.mixedclass_ = mixedclass_ + if content_ is None: + self.content_ = [] + else: + self.content_ = content_ + self.valueOf_ = valueOf_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, WarningType839) + if subclass is not None: + return subclass(*args_, **kwargs_) + if WarningType839.subclass: + return WarningType839.subclass(*args_, **kwargs_) + else: + return WarningType839(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_RecordID(self): + return self.RecordID + def set_RecordID(self, RecordID): + self.RecordID = RecordID + def get_Status(self): + return self.Status + def set_Status(self, Status): + self.Status = Status + def get_valueOf_(self): return self.valueOf_ + def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ + def validate_def_int_gt0(self, value): + # Validate type def_int_gt0, a restriction on xs:positiveInteger. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if not self.gds_validate_simple_patterns( + self.validate_def_int_gt0_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) + validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] + def validate_StringLength1to64(self, value): + # Validate type StringLength1to64, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 64: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_def_send_complete(self, value): + # Validate type def_send_complete, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + value = value + enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] + if value not in enumerations: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or + self.content_ + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType839', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType839') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'WarningType839': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType839') + outfile.write('>') + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + outfile.write(self.convert_unicode(self.valueOf_)) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType839'): + if self.Type is not None and 'Type' not in already_processed: + already_processed.add('Type') + outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) + if self.RecordID is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) + if self.Status is not None and 'Status' not in already_processed: + already_processed.add('Status') + outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType839', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + self.valueOf_ = get_all_text_(node) + if node.text is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', node.text) + self.content_.append(obj_) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Type', node) + if value is not None and 'Type' not in already_processed: + already_processed.add('Type') + self.Type = self.gds_parse_integer(value, node, 'Type') + if self.Type <= 0: + raise_parse_error(node, 'Invalid PositiveInteger') + self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 + value = find_attr_value_('RecordID', node) + if value is not None and 'RecordID' not in already_processed: + already_processed.add('RecordID') + self.RecordID = value + self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 + value = find_attr_value_('Status', node) + if value is not None and 'Status' not in already_processed: + already_processed.add('Status') + self.Status = value + self.validate_def_send_complete(self.Status) # validate type def_send_complete + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if not fromsubclass_ and child_.tail is not None: + obj_ = self.mixedclass_(MixedContainer.CategoryText, + MixedContainer.TypeNone, '', child_.tail) + self.content_.append(obj_) + pass +# end class WarningType839 + + +# +# End data representation classes. +# + + +GDSClassesMapping = { +} + + +USAGE_TEXT = """ +Usage: python .py [ -s ] +""" + + +def usage(): + print(USAGE_TEXT) + sys.exit(1) + + +def get_root_tag(node): + tag = Tag_pattern_.match(node.tag).groups()[-1] + prefix_tag = TagNamePrefix + tag + rootClass = GDSClassesMapping.get(prefix_tag) + if rootClass is None: + rootClass = globals().get(prefix_tag) + return tag, rootClass + + +def get_required_ns_prefix_defs(rootNode): + '''Get all name space prefix definitions required in this XML doc. + Return a dictionary of definitions and a char string of definitions. + ''' + nsmap = { + prefix: uri + for node in rootNode.iter() + for (prefix, uri) in node.nsmap.items() + if prefix is not None + } + namespacedefs = ' '.join([ + 'xmlns:{}="{}"'.format(prefix, uri) + for prefix, uri in nsmap.items() + ]) + return nsmap, namespacedefs + + +def parse(inFileName, silence=False, print_warnings=True): + global CapturedNsmap_ + gds_collector = GdsCollector_() + parser = None + doc = parsexml_(inFileName, parser) + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'OTA_PingRQ' + rootClass = OTA_PingRQ + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode) + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + sys.stdout.write('\n') + rootObj.export( + sys.stdout, 0, name_=rootTag, + namespacedef_=namespacedefs, + pretty_print=True) + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def parseEtree(inFileName, silence=False, print_warnings=True, + mapping=None, reverse_mapping=None, nsmap=None): + parser = None + doc = parsexml_(inFileName, parser) + gds_collector = GdsCollector_() + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'OTA_PingRQ' + rootClass = OTA_PingRQ + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + if mapping is None: + mapping = {} + if reverse_mapping is None: + reverse_mapping = {} + rootElement = rootObj.to_etree( + None, name_=rootTag, mapping_=mapping, + reverse_mapping_=reverse_mapping, nsmap_=nsmap) + reverse_node_mapping = rootObj.gds_reverse_node_mapping(mapping) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + content = etree_.tostring( + rootElement, pretty_print=True, + xml_declaration=True, encoding="utf-8") + sys.stdout.write(str(content)) + sys.stdout.write('\n') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj, rootElement, mapping, reverse_node_mapping + + +def parseString(inString, silence=False, print_warnings=True): + '''Parse a string, create the object tree, and export it. + + Arguments: + - inString -- A string. This XML fragment should not start + with an XML declaration containing an encoding. + - silence -- A boolean. If False, export the object. + Returns -- The root object in the tree. + ''' + parser = None + rootNode= parsexmlstring_(inString, parser) + gds_collector = GdsCollector_() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'OTA_PingRQ' + rootClass = OTA_PingRQ + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + if not SaveElementTreeNode: + rootNode = None + if not silence: + sys.stdout.write('\n') + rootObj.export( + sys.stdout, 0, name_=rootTag, + namespacedef_='') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def parseLiteral(inFileName, silence=False, print_warnings=True): + parser = None + doc = parsexml_(inFileName, parser) + gds_collector = GdsCollector_() + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'OTA_PingRQ' + rootClass = OTA_PingRQ + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + sys.stdout.write('#from alpine_bits_classes import *\n\n') + sys.stdout.write('import alpine_bits_classes as model_\n\n') + sys.stdout.write('rootObj = model_.rootClass(\n') + rootObj.exportLiteral(sys.stdout, 0, name_=rootTag) + sys.stdout.write(')\n') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def main(): + args = sys.argv[1:] + if len(args) == 1: + parse(args[0]) + else: + usage() + + +if __name__ == '__main__': + #import pdb; pdb.set_trace() + main() + +RenameMappings_ = { +} + +# +# Mapping of namespaces to types defined in them +# and the file in which each is defined. +# simpleTypes are marked "ST" and complexTypes "CT". +NamespaceToDefMappings_ = {'http://www.opentravel.org/OTA/2003/05': [('def_send_complete', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_nonempty_string', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_any_string', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_uppercase_string', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_email_string', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_invTypeCode_string', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_url_string', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_three_char_string', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_one_to_sixteen_chars_string', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_one_to_thirty_two_chars_string', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_int_gt0', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_int_ge0', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_decimal_ge0', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_decimal_gt0', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_date', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_datetime', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_bool', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('def_alpinebits_code', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('TimeUnitType', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('DateOrTimeOrDateTimeType', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('DateOrDateTimeType', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength0to8', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength0to32', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength0to64', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength0to128', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength1to180', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength0to255', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength1to8', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength1to16', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength1to32', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength1to64', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength1to128', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength1to255', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('StringLength3', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('Numeric0to4', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('Numeric0to10', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('Numeric0to99', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('Numeric0to999', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('Numeric0to9999', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('Numeric1to3', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('Numeric1to4', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('Numeric1to99', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('Numeric1to999', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('Numeric1to9999', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('NumericStringLength1to16', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('NumericStringLength1to19', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('NumericStringLength2', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('NumericStringLength4', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('NumericStringLength1to3', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('NumericStringLength1to5', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('NumericStringLength1to8', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST'), + ('NumericStringLength15to50', + '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', + 'ST')]} + +__all__ = [ + "AcceptedPaymentType", + "AcceptedPaymentType152", + "AcceptedPaymentType242", + "AcceptedPaymentType358", + "AcceptedPaymentType603", + "AcceptedPaymentType726", + "AcceptedPaymentsType", + "AcceptedPaymentsType151", + "AcceptedPaymentsType241", + "AcceptedPaymentsType357", + "AcceptedPaymentsType602", + "AcceptedPaymentsType725", + "AdditionalGuestAmountType", + "AdditionalGuestAmountType466", + "AdditionalGuestAmountType785", + "AdditionalGuestAmountsType", + "AdditionalGuestAmountsType465", + "AdditionalGuestAmountsType784", + "AddressInfoType", + "AddressInfoType175", + "AddressInfoType626", + "AddressType", + "AddressType132", + "AddressType248", + "AddressType382", + "AddressType583", + "AddressType750", + "AddressesType", + "AddressesType381", + "AddressesType749", + "AffiliationInfoType", + "AffiliationInfoType376", + "AffiliationInfoType744", + "AmenitiesType", + "AmenitiesType310", + "AmenitiesType678", + "AmenityType", + "AmenityType311", + "AmenityType679", + "AmountPercentType", + "AmountPercentType164", + "AmountPercentType247", + "AmountPercentType368", + "AmountPercentType615", + "AmountPercentType736", + "ArrivalDaysOfWeekType", + "ArrivalDaysOfWeekType426", + "ArrivalDaysOfWeekType454", + "ArrivalDaysOfWeekType497", + "ArrivalDaysOfWeekType773", + "ArrivalDaysOfWeekType816", + "AttendeeInfoType", + "AwardType", + "AwardType378", + "AwardType746", + "AwardsType", + "AwardsType377", + "AwardsType745", + "BankAcctNameType", + "BankAcctNameType360", + "BankAcctNameType728", + "BankAcctNumberType", + "BankAcctNumberType160", + "BankAcctNumberType244", + "BankAcctNumberType361", + "BankAcctNumberType611", + "BankAcctNumberType729", + "BankAcctType", + "BankAcctType159", + "BankAcctType243", + "BankAcctType359", + "BankAcctType610", + "BankAcctType727", + "BankIDType", + "BankIDType363", + "BankIDType731", + "BaseByGuestAmtType", + "BaseByGuestAmtType463", + "BaseByGuestAmtType782", + "BaseByGuestAmtsType", + "BaseByGuestAmtsType462", + "BaseByGuestAmtsType781", + "BaseType", + "BaseType535", + "BaseType84", + "BasicPropertyInfoType", + "BasicPropertyInfoType182", + "BasicPropertyInfoType633", + "BookingRuleType", + "BookingRuleType448", + "BookingRuleType767", + "BookingRulesType", + "BookingRulesType447", + "BookingRulesType766", + "CancelPenaltiesType", + "CancelPenaltiesType165", + "CancelPenaltiesType616", + "CancelPenaltyType", + "CancelPenaltyType166", + "CancelPenaltyType223", + "CancelPenaltyType329", + "CancelPenaltyType617", + "CancelPenaltyType697", + "CancelPolicyType", + "CancelPolicyType328", + "CancelPolicyType696", + "CardNumberType", + "CardNumberType154", + "CardNumberType40", + "CardNumberType546", + "CardNumberType605", + "CardNumberType95", + "CardTypeType", + "CardTypeType367", + "CardTypeType735", + "CashType", + "CashType365", + "CashType733", + "CategoryCodesType", + "CategoryCodesType270", + "CategoryCodesType638", + "CategoryType", + "CheckoutChargeType", + "CheckoutChargeType335", + "CheckoutChargeType703", + "CheckoutChargesType", + "CheckoutChargesType334", + "CheckoutChargesType702", + "CommentType", + "CommentType109", + "CommentType140", + "CommentType23", + "CommentType34", + "CommentType560", + "CommentType591", + "CommentsType", + "CommentsType108", + "CommentsType139", + "CommentsType22", + "CommentsType33", + "CommentsType559", + "CommentsType590", + "CommissionPayableAmountType", + "CommissionPayableAmountType527", + "CommissionPayableAmountType76", + "CommissionType", + "CommissionType526", + "CommissionType75", + "CompanyInfoType", + "CompanyInfoType173", + "CompanyInfoType624", + "CompanyNameType", + "CompanyNameType174", + "CompanyNameType255", + "CompanyNameType394", + "CompanyNameType625", + "CompanyNameType762", + "ContactInfoType", + "ContactInfoType380", + "ContactInfoType748", + "ContactInfosType", + "ContactInfosType379", + "ContactInfosType747", + "CountryNameType", + "CountryNameType133", + "CountryNameType176", + "CountryNameType249", + "CountryNameType384", + "CountryNameType47", + "CountryNameType584", + "CountryNameType627", + "CountryNameType752", + "CustomerType", + "CustomerType125", + "CustomerType576", + "DOW_RestrictionsType", + "DOW_RestrictionsType425", + "DOW_RestrictionsType453", + "DOW_RestrictionsType496", + "DOW_RestrictionsType772", + "DOW_RestrictionsType815", + "DateRangeType", + "DateType", + "DatesType", + "DeadlineType", + "DeadlineType369", + "DeadlineType737", + "DepartureDaysOfWeekType", + "DepartureDaysOfWeekType427", + "DepartureDaysOfWeekType455", + "DepartureDaysOfWeekType498", + "DepartureDaysOfWeekType774", + "DepartureDaysOfWeekType817", + "DepositPaymentsType", + "DepositPaymentsType149", + "DepositPaymentsType600", + "DescriptionType", + "DescriptionType197", + "DescriptionType202", + "DescriptionType213", + "DescriptionType219", + "DescriptionType228", + "DescriptionType232", + "DescriptionType277", + "DescriptionType285", + "DescriptionType293", + "DescriptionType316", + "DescriptionType322", + "DescriptionType336", + "DescriptionType342", + "DescriptionType415", + "DescriptionType428", + "DescriptionType480", + "DescriptionType509", + "DescriptionType645", + "DescriptionType653", + "DescriptionType661", + "DescriptionType684", + "DescriptionType690", + "DescriptionType704", + "DescriptionType710", + "DescriptionType799", + "DescriptionType828", + "DescriptionsType", + "DescriptionsType272", + "DescriptionsType640", + "DiscountType", + "DiscountType503", + "DiscountType822", + "EmailType", + "EmailType130", + "EmailType253", + "EmailType391", + "EmailType581", + "EmailType759", + "EmailsType", + "EmailsType390", + "EmailsType758", + "EmployeeInfoType", + "EndDateWindowType", + "ErrorType", + "ErrorType12", + "ErrorType191", + "ErrorType258", + "ErrorType263", + "ErrorType434", + "ErrorType441", + "ErrorType52", + "ErrorType6", + "ErrorType61", + "ErrorType836", + "ErrorsType", + "ErrorsType11", + "ErrorsType190", + "ErrorsType257", + "ErrorsType262", + "ErrorsType433", + "ErrorsType440", + "ErrorsType5", + "ErrorsType51", + "ErrorsType60", + "ErrorsType835", + "EventContactType", + "EventContactsType", + "EventReportType", + "EventReportsType", + "EventSiteType", + "EventSitesType", + "Event_IDType", + "FacilityInfoType", + "FacilityInfoType305", + "FacilityInfoType673", + "FeatureType", + "FeatureType303", + "FeatureType671", + "FeaturesType", + "FeaturesType302", + "FeaturesType670", + "GeneralEventInfoType", + "GivenNameType", + "GuaranteeAcceptedType", + "GuaranteeAcceptedType544", + "GuaranteeAcceptedType93", + "GuaranteePaymentPolicyType", + "GuaranteePaymentPolicyType355", + "GuaranteePaymentPolicyType723", + "GuaranteePaymentType", + "GuaranteePaymentType150", + "GuaranteePaymentType240", + "GuaranteePaymentType356", + "GuaranteePaymentType601", + "GuaranteePaymentType724", + "GuaranteeType", + "GuaranteeType542", + "GuaranteeType91", + "GuaranteesAcceptedType", + "GuaranteesAcceptedType543", + "GuaranteesAcceptedType92", + "GuestCountType", + "GuestCountType106", + "GuestCountType20", + "GuestCountType538", + "GuestCountType557", + "GuestCountType87", + "GuestCountsType", + "GuestCountsType105", + "GuestCountsType19", + "GuestCountsType537", + "GuestCountsType556", + "GuestCountsType86", + "GuestRoomType", + "GuestRoomType307", + "GuestRoomType675", + "GuestRoomsType", + "GuestRoomsType306", + "GuestRoomsType674", + "GuestType", + "GuestType507", + "GuestType826", + "GuestsType", + "GuestsType506", + "GuestsType825", + "HotelCategoryType", + "HotelCategoryType271", + "HotelCategoryType639", + "HotelDescriptiveContentType", + "HotelDescriptiveContentType268", + "HotelDescriptiveContentType636", + "HotelDescriptiveContentsType", + "HotelDescriptiveContentsType267", + "HotelDescriptiveContentsType635", + "HotelDescriptiveInfoType", + "HotelDescriptiveInfosType", + "HotelInfoType", + "HotelInfoType269", + "HotelInfoType637", + "HotelNotifReportType", + "HotelReadRequestType", + "HotelRefType", + "HotelReservationIDType", + "HotelReservationIDType169", + "HotelReservationIDType620", + "HotelReservationIDsType", + "HotelReservationIDsType168", + "HotelReservationIDsType619", + "HotelReservationType", + "HotelReservationType187", + "HotelReservationType516", + "HotelReservationType57", + "HotelReservationType65", + "HotelReservationsType", + "HotelReservationsType186", + "HotelReservationsType56", + "ImageFormatType", + "ImageFormatType218", + "ImageFormatType282", + "ImageFormatType321", + "ImageFormatType650", + "ImageFormatType689", + "ImageItemType", + "ImageItemType217", + "ImageItemType281", + "ImageItemType320", + "ImageItemType649", + "ImageItemType688", + "ImageItemsType", + "ImageItemsType216", + "ImageItemsType280", + "ImageItemsType319", + "ImageItemsType648", + "ImageItemsType687", + "ImageType", + "InvCountType", + "InvCountsType", + "InventoriesType", + "InventoryType", + "LengthOfStayType", + "LengthOfStayType422", + "LengthOfStayType450", + "LengthOfStayType493", + "LengthOfStayType769", + "LengthOfStayType812", + "LengthsOfStayType", + "LengthsOfStayType421", + "LengthsOfStayType449", + "LengthsOfStayType492", + "LengthsOfStayType768", + "LengthsOfStayType811", + "ListItemType", + "ListItemType141", + "ListItemType407", + "ListItemType468", + "ListItemType592", + "ListItemType787", + "LocationCategoriesType", + "LocationType", + "MealsIncludedType", + "MealsIncludedType410", + "MealsIncludedType471", + "MealsIncludedType528", + "MealsIncludedType77", + "MealsIncludedType790", + "MultimediaDescriptionType", + "MultimediaDescriptionType210", + "MultimediaDescriptionType274", + "MultimediaDescriptionType313", + "MultimediaDescriptionType642", + "MultimediaDescriptionType681", + "MultimediaDescriptionsType", + "MultimediaDescriptionsType209", + "MultimediaDescriptionsType273", + "MultimediaDescriptionsType312", + "MultimediaDescriptionsType641", + "MultimediaDescriptionsType680", + "NotifDetailsType", + "OTA_HotelDescriptiveContentNotifRQ", + "OTA_HotelDescriptiveContentNotifRS", + "OTA_HotelDescriptiveInfoRQ", + "OTA_HotelDescriptiveInfoRS", + "OTA_HotelInvCountNotifRQ", + "OTA_HotelInvCountNotifRS", + "OTA_HotelPostEventNotifRQ", + "OTA_HotelPostEventNotifRS", + "OTA_HotelRatePlanNotifRQ", + "OTA_HotelRatePlanNotifRS", + "OTA_HotelRatePlanRQ", + "OTA_HotelRatePlanRS", + "OTA_HotelResNotifRQ", + "OTA_HotelResNotifRS", + "OTA_NotifReportRQ", + "OTA_NotifReportRS", + "OTA_PingRQ", + "OTA_PingRS", + "OTA_ReadRQ", + "OTA_ResRetrieveRS", + "OccupancyType", + "OccupancyType499", + "OccupancyType818", + "OfferRuleType", + "OfferRuleType491", + "OfferRuleType810", + "OfferRulesType", + "OfferRulesType490", + "OfferRulesType809", + "OfferType", + "OfferType489", + "OfferType808", + "OffersType", + "OffersType488", + "OffersType807", + "PaymentCardType", + "PaymentCardType153", + "PaymentCardType246", + "PaymentCardType366", + "PaymentCardType39", + "PaymentCardType545", + "PaymentCardType604", + "PaymentCardType734", + "PaymentCardType94", + "PenaltyDescriptionType", + "PenaltyDescriptionType167", + "PenaltyDescriptionType224", + "PenaltyDescriptionType330", + "PenaltyDescriptionType618", + "PenaltyDescriptionType698", + "PersonNameType", + "PersonNameType126", + "PersonNameType30", + "PersonNameType577", + "PetsPoliciesType", + "PetsPoliciesType340", + "PetsPoliciesType708", + "PetsPolicyType", + "PetsPolicyType341", + "PetsPolicyType709", + "PhoneType", + "PhoneType388", + "PhoneType756", + "PhonesType", + "PhonesType387", + "PhonesType755", + "PlainTextType", + "PlainTextType245", + "PlainTextType362", + "PlainTextType364", + "PlainTextType730", + "PlainTextType732", + "PoliciesType", + "PoliciesType326", + "PoliciesType694", + "PolicyInfoType", + "PolicyInfoType370", + "PolicyInfoType738", + "PolicyType", + "PolicyType327", + "PolicyType695", + "PositionType", + "PositionType298", + "PositionType666", + "PrerequisiteInventoryType", + "PrerequisiteInventoryType478", + "PrerequisiteInventoryType797", + "ProfileInfoType", + "ProfileInfoType123", + "ProfileInfoType171", + "ProfileInfoType45", + "ProfileInfoType574", + "ProfileInfoType622", + "ProfileType", + "ProfileType124", + "ProfileType172", + "ProfileType46", + "ProfileType575", + "ProfileType623", + "ProfilesType", + "ProfilesType122", + "ProfilesType170", + "ProfilesType44", + "ProfilesType573", + "ProfilesType621", + "RateDescriptionType", + "RateDescriptionType467", + "RateDescriptionType786", + "RatePlanCandidateType", + "RatePlanCandidatesType", + "RatePlanType", + "RatePlanType400", + "RatePlanType439", + "RatePlanType446", + "RatePlanType525", + "RatePlanType74", + "RatePlanType765", + "RatePlansType", + "RatePlansType399", + "RatePlansType438", + "RatePlansType445", + "RatePlansType524", + "RatePlansType73", + "RatePlansType764", + "RateType", + "RateType405", + "RateType461", + "RateType534", + "RateType780", + "RateType83", + "RatesType", + "RatesType404", + "RatesType460", + "RatesType533", + "RatesType779", + "RatesType82", + "ReadRequestsType", + "ResGlobalInfoType", + "ResGlobalInfoType138", + "ResGlobalInfoType589", + "ResGuestType", + "ResGuestType121", + "ResGuestType572", + "ResGuestsType", + "ResGuestsType120", + "ResGuestsType571", + "ReservationsListType", + "RestrictionStatusType", + "RestrictionStatusType456", + "RestrictionStatusType775", + "RoomRateType", + "RoomRateType532", + "RoomRateType81", + "RoomRatesType", + "RoomRatesType531", + "RoomRatesType80", + "RoomStayType", + "RoomStayType520", + "RoomStayType69", + "RoomStaysType", + "RoomStaysType519", + "RoomStaysType68", + "RoomTypeType", + "RoomTypeType522", + "RoomTypeType71", + "RoomTypesType", + "RoomTypesType521", + "RoomTypesType70", + "SelectionCriteriaType", + "ServiceDescriptionType", + "ServiceDescriptionType113", + "ServiceDescriptionType564", + "ServiceDetailsType", + "ServiceDetailsType104", + "ServiceDetailsType555", + "ServiceRPHType", + "ServiceRPHType100", + "ServiceRPHType551", + "ServiceRPHsType", + "ServiceRPHsType550", + "ServiceRPHsType99", + "ServiceType", + "ServiceType103", + "ServiceType207", + "ServiceType301", + "ServiceType554", + "ServiceType669", + "ServicesType", + "ServicesType102", + "ServicesType206", + "ServicesType300", + "ServicesType553", + "ServicesType668", + "SpecialRequestType", + "SpecialRequestType145", + "SpecialRequestType596", + "SpecialRequestsType", + "SpecialRequestsType144", + "SpecialRequestsType595", + "StartDateWindowType", + "StartDateWindowType540", + "StartDateWindowType89", + "StateProvType", + "StateProvType383", + "StateProvType751", + "StatusApplicationControlType", + "StayRequirementType", + "StayRequirementType372", + "StayRequirementType740", + "StayRequirementsType", + "StayRequirementsType371", + "StayRequirementsType739", + "Success", + "SupplementType", + "SupplementType477", + "SupplementType796", + "SupplementsType", + "SupplementsType476", + "SupplementsType795", + "SurnameType", + "TaxDescriptionType", + "TaxDescriptionType348", + "TaxDescriptionType716", + "TaxPoliciesType", + "TaxPoliciesType346", + "TaxPoliciesType714", + "TaxPolicyType", + "TaxPolicyType347", + "TaxPolicyType715", + "TelephoneInfoType", + "TelephoneInfoType178", + "TelephoneInfoType629", + "TelephoneType", + "TelephoneType127", + "TelephoneType578", + "TextItemType", + "TextItemType212", + "TextItemType276", + "TextItemType315", + "TextItemType644", + "TextItemType683", + "TextItemsType", + "TextItemsType211", + "TextItemsType275", + "TextItemsType314", + "TextItemsType643", + "TextItemsType682", + "TextType", + "TextType110", + "TextType114", + "TextType146", + "TextType225", + "TextType229", + "TextType233", + "TextType236", + "TextType24", + "TextType26", + "TextType331", + "TextType337", + "TextType343", + "TextType349", + "TextType37", + "TextType416", + "TextType429", + "TextType481", + "TextType510", + "TextType561", + "TextType565", + "TextType597", + "TextType699", + "TextType705", + "TextType711", + "TextType717", + "TextType800", + "TextType829", + "TimeSpanType", + "TimeSpanType107", + "TimeSpanType21", + "TimeSpanType539", + "TimeSpanType558", + "TimeSpanType88", + "TotalType", + "TotalType112", + "TotalType25", + "TotalType549", + "TotalType563", + "TotalType98", + "TypeRoomType", + "TypeRoomType308", + "TypeRoomType676", + "URLType", + "URLType254", + "URLType393", + "URLType761", + "URLsType", + "URLsType392", + "URLsType760", + "UniqueIDType", + "UniqueIDType16", + "UniqueIDType188", + "UniqueIDType396", + "UniqueIDType517", + "UniqueIDType58", + "UniqueIDType66", + "VideoFormatType", + "VideoFormatType291", + "VideoFormatType659", + "VideoItemType", + "VideoItemType290", + "VideoItemType658", + "VideoItemsType", + "VideoItemsType289", + "VideoItemsType657", + "VoucherType", + "VoucherType162", + "VoucherType613", + "WarningType", + "WarningType15", + "WarningType185", + "WarningType194", + "WarningType261", + "WarningType266", + "WarningType437", + "WarningType444", + "WarningType55", + "WarningType64", + "WarningType839", + "WarningType9", + "WarningsType", + "WarningsType14", + "WarningsType184", + "WarningsType193", + "WarningsType260", + "WarningsType265", + "WarningsType436", + "WarningsType443", + "WarningsType54", + "WarningsType63", + "WarningsType8", + "WarningsType838" +] diff --git a/src/alpinebits_guestrequests.py b/src/alpinebits_guestrequests.py index 0fcabde..e6f8629 100644 --- a/src/alpinebits_guestrequests.py +++ b/src/alpinebits_guestrequests.py @@ -2,6 +2,32 @@ import xml.etree.ElementTree as ET from datetime import datetime, timezone from typing import List, Optional + + + + +# TimeSpan class according to XSD: +class TimeSpan: + def __init__(self, start: str, end: str = None, duration: str = None, start_window: str = None, end_window: str = None): + self.start = start + self.end = end + self.duration = duration + self.start_window = start_window + self.end_window = end_window + + def to_xml(self): + attrib = {"Start": self.start} + if self.end: + attrib["End"] = self.end + if self.duration: + attrib["Duration"] = self.duration + if self.start_window: + attrib["StartWindow"] = self.start_window + if self.end_window: + attrib["EndWindow"] = self.end_window + return ET.Element(_ns("TimeSpan"), attrib) + + NAMESPACE = "http://www.opentravel.org/OTA/2003/05" ET.register_namespace('', NAMESPACE) @@ -71,29 +97,38 @@ class ResGuest: lxml_elem = etree.fromstring(xml_bytes, parser) return etree.tostring(lxml_elem, pretty_print=True, encoding="unicode") - + + + + + + class RoomStay: - def __init__(self, room_type: str, start_date: str, end_date: str, guests: List[ResGuest]): + def __init__(self, room_type: str, timespan: TimeSpan, guests: List[ResGuest]): self.room_type = room_type - self.start_date = start_date - self.end_date = end_date + self.timespan = timespan self.guests = guests def to_xml(self): roomstay_elem = ET.Element(_ns("RoomStay")) ET.SubElement(roomstay_elem, _ns("RoomType")).set("RoomTypeCode", self.room_type) - ET.SubElement(roomstay_elem, _ns("TimeSpan"), { - "Start": self.start_date, - "End": self.end_date - }) + roomstay_elem.append(self.timespan.to_xml()) guests_elem = ET.SubElement(roomstay_elem, _ns("Guests")) for guest in self.guests: guests_elem.append(guest.to_xml()) return roomstay_elem + def __str__(self): + from lxml import etree + elem = self.to_xml() + xml_bytes = ET.tostring(elem, encoding="utf-8") + parser = etree.XMLParser(remove_blank_text=True) + lxml_elem = etree.fromstring(xml_bytes, parser) + return etree.tostring(lxml_elem, pretty_print=True, encoding="unicode") + class Reservation: def __init__(self, reservation_id: str, hotel_code: str, roomstays: List[RoomStay], create_time: Optional[str] = None): diff --git a/src/main.py b/src/main.py index 4b7e744..bafdec2 100644 --- a/src/main.py +++ b/src/main.py @@ -1,4 +1,4 @@ -from alpinebits_guestrequests import ResGuest +from alpinebits_guestrequests import ResGuest, RoomStay @@ -6,5 +6,7 @@ def main(): guest1 = ResGuest(given_name="John", surname="Doe", email="john.doe@example.com") print(guest1) + + if __name__ == "__main__": main() \ No newline at end of file diff --git a/src/subclasses.py b/src/subclasses.py new file mode 100644 index 0000000..6f84729 --- /dev/null +++ b/src/subclasses.py @@ -0,0 +1,5467 @@ +#!/usr/bin/env python + +# +# Generated Tue Sep 23 08:57:49 2025 by generateDS.py version 2.44.3. +# Python 3.13.3 (main, Apr 9 2025, 04:03:52) [Clang 20.1.0 ] +# +# Command line options: +# ('-o', 'alpine_bits_classes.py') +# ('-s', 'subclasses.py') +# +# Command line arguments: +# ../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd +# +# Command line: +# ../.venv/bin/generateDS.py -o "alpine_bits_classes.py" -s "subclasses.py" ../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd +# +# Current working directory (os.getcwd()): +# src +# + +import os +import sys +from lxml import etree as etree_ + +import ??? as supermod + +def parsexml_(infile, parser=None, **kwargs): + if parser is None: + # Use the lxml ElementTree compatible parser so that, e.g., + # we ignore comments. + parser = etree_.ETCompatXMLParser() + try: + if isinstance(infile, os.PathLike): + infile = os.path.join(infile) + except AttributeError: + pass + doc = etree_.parse(infile, parser=parser, **kwargs) + return doc + +def parsexmlstring_(instring, parser=None, **kwargs): + if parser is None: + # Use the lxml ElementTree compatible parser so that, e.g., + # we ignore comments. + try: + parser = etree_.ETCompatXMLParser() + except AttributeError: + # fallback to xml.etree + parser = etree_.XMLParser() + element = etree_.fromstring(instring, parser=parser, **kwargs) + return element + +# +# Globals +# + +ExternalEncoding = '' +SaveElementTreeNode = True + +# +# Data representation classes +# + + +class OTA_PingRQSub(supermod.OTA_PingRQ): + def __init__(self, Version=None, TimeStamp=None, EchoData=None, **kwargs_): + super(OTA_PingRQSub, self).__init__(Version, TimeStamp, EchoData, **kwargs_) +supermod.OTA_PingRQ.subclass = OTA_PingRQSub +# end class OTA_PingRQSub + + +class OTA_PingRSSub(supermod.OTA_PingRS): + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, EchoData=None, **kwargs_): + super(OTA_PingRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, EchoData, **kwargs_) +supermod.OTA_PingRS.subclass = OTA_PingRSSub +# end class OTA_PingRSSub + + +class OTA_HotelPostEventNotifRQSub(supermod.OTA_HotelPostEventNotifRQ): + def __init__(self, Version=None, EventReports=None, **kwargs_): + super(OTA_HotelPostEventNotifRQSub, self).__init__(Version, EventReports, **kwargs_) +supermod.OTA_HotelPostEventNotifRQ.subclass = OTA_HotelPostEventNotifRQSub +# end class OTA_HotelPostEventNotifRQSub + + +class OTA_HotelPostEventNotifRSSub(supermod.OTA_HotelPostEventNotifRS): + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, **kwargs_): + super(OTA_HotelPostEventNotifRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, **kwargs_) +supermod.OTA_HotelPostEventNotifRS.subclass = OTA_HotelPostEventNotifRSSub +# end class OTA_HotelPostEventNotifRSSub + + +class OTA_HotelInvCountNotifRQSub(supermod.OTA_HotelInvCountNotifRQ): + def __init__(self, Version=None, UniqueID=None, Inventories=None, **kwargs_): + super(OTA_HotelInvCountNotifRQSub, self).__init__(Version, UniqueID, Inventories, **kwargs_) +supermod.OTA_HotelInvCountNotifRQ.subclass = OTA_HotelInvCountNotifRQSub +# end class OTA_HotelInvCountNotifRQSub + + +class OTA_HotelInvCountNotifRSSub(supermod.OTA_HotelInvCountNotifRS): + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, **kwargs_): + super(OTA_HotelInvCountNotifRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, **kwargs_) +supermod.OTA_HotelInvCountNotifRS.subclass = OTA_HotelInvCountNotifRSSub +# end class OTA_HotelInvCountNotifRSSub + + +class OTA_HotelResNotifRQSub(supermod.OTA_HotelResNotifRQ): + def __init__(self, Version=None, TimeStamp=None, HotelReservations=None, **kwargs_): + super(OTA_HotelResNotifRQSub, self).__init__(Version, TimeStamp, HotelReservations, **kwargs_) +supermod.OTA_HotelResNotifRQ.subclass = OTA_HotelResNotifRQSub +# end class OTA_HotelResNotifRQSub + + +class OTA_HotelResNotifRSSub(supermod.OTA_HotelResNotifRS): + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, HotelReservations=None, **kwargs_): + super(OTA_HotelResNotifRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, HotelReservations, **kwargs_) +supermod.OTA_HotelResNotifRS.subclass = OTA_HotelResNotifRSSub +# end class OTA_HotelResNotifRSSub + + +class OTA_ReadRQSub(supermod.OTA_ReadRQ): + def __init__(self, Version=None, TimeStamp=None, ReadRequests=None, **kwargs_): + super(OTA_ReadRQSub, self).__init__(Version, TimeStamp, ReadRequests, **kwargs_) +supermod.OTA_ReadRQ.subclass = OTA_ReadRQSub +# end class OTA_ReadRQSub + + +class OTA_ResRetrieveRSSub(supermod.OTA_ResRetrieveRS): + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, ReservationsList=None, **kwargs_): + super(OTA_ResRetrieveRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, ReservationsList, **kwargs_) +supermod.OTA_ResRetrieveRS.subclass = OTA_ResRetrieveRSSub +# end class OTA_ResRetrieveRSSub + + +class OTA_NotifReportRQSub(supermod.OTA_NotifReportRQ): + def __init__(self, Version=None, TimeStamp=None, Success=None, Warnings=None, NotifDetails=None, **kwargs_): + super(OTA_NotifReportRQSub, self).__init__(Version, TimeStamp, Success, Warnings, NotifDetails, **kwargs_) +supermod.OTA_NotifReportRQ.subclass = OTA_NotifReportRQSub +# end class OTA_NotifReportRQSub + + +class OTA_NotifReportRSSub(supermod.OTA_NotifReportRS): + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, **kwargs_): + super(OTA_NotifReportRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, **kwargs_) +supermod.OTA_NotifReportRS.subclass = OTA_NotifReportRSSub +# end class OTA_NotifReportRSSub + + +class OTA_HotelDescriptiveContentNotifRQSub(supermod.OTA_HotelDescriptiveContentNotifRQ): + def __init__(self, Version=None, TimeStamp=None, HotelDescriptiveContents=None, **kwargs_): + super(OTA_HotelDescriptiveContentNotifRQSub, self).__init__(Version, TimeStamp, HotelDescriptiveContents, **kwargs_) +supermod.OTA_HotelDescriptiveContentNotifRQ.subclass = OTA_HotelDescriptiveContentNotifRQSub +# end class OTA_HotelDescriptiveContentNotifRQSub + + +class OTA_HotelDescriptiveContentNotifRSSub(supermod.OTA_HotelDescriptiveContentNotifRS): + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, **kwargs_): + super(OTA_HotelDescriptiveContentNotifRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, **kwargs_) +supermod.OTA_HotelDescriptiveContentNotifRS.subclass = OTA_HotelDescriptiveContentNotifRSSub +# end class OTA_HotelDescriptiveContentNotifRSSub + + +class OTA_HotelDescriptiveInfoRQSub(supermod.OTA_HotelDescriptiveInfoRQ): + def __init__(self, Version=None, TimeStamp=None, HotelDescriptiveInfos=None, **kwargs_): + super(OTA_HotelDescriptiveInfoRQSub, self).__init__(Version, TimeStamp, HotelDescriptiveInfos, **kwargs_) +supermod.OTA_HotelDescriptiveInfoRQ.subclass = OTA_HotelDescriptiveInfoRQSub +# end class OTA_HotelDescriptiveInfoRQSub + + +class OTA_HotelDescriptiveInfoRSSub(supermod.OTA_HotelDescriptiveInfoRS): + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, HotelDescriptiveContents=None, **kwargs_): + super(OTA_HotelDescriptiveInfoRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, HotelDescriptiveContents, **kwargs_) +supermod.OTA_HotelDescriptiveInfoRS.subclass = OTA_HotelDescriptiveInfoRSSub +# end class OTA_HotelDescriptiveInfoRSSub + + +class OTA_HotelRatePlanNotifRQSub(supermod.OTA_HotelRatePlanNotifRQ): + def __init__(self, Version=None, TimeStamp=None, UniqueID=None, RatePlans=None, **kwargs_): + super(OTA_HotelRatePlanNotifRQSub, self).__init__(Version, TimeStamp, UniqueID, RatePlans, **kwargs_) +supermod.OTA_HotelRatePlanNotifRQ.subclass = OTA_HotelRatePlanNotifRQSub +# end class OTA_HotelRatePlanNotifRQSub + + +class OTA_HotelRatePlanNotifRSSub(supermod.OTA_HotelRatePlanNotifRS): + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, **kwargs_): + super(OTA_HotelRatePlanNotifRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, **kwargs_) +supermod.OTA_HotelRatePlanNotifRS.subclass = OTA_HotelRatePlanNotifRSSub +# end class OTA_HotelRatePlanNotifRSSub + + +class OTA_HotelRatePlanRQSub(supermod.OTA_HotelRatePlanRQ): + def __init__(self, Version=None, TimeStamp=None, RatePlans=None, **kwargs_): + super(OTA_HotelRatePlanRQSub, self).__init__(Version, TimeStamp, RatePlans, **kwargs_) +supermod.OTA_HotelRatePlanRQ.subclass = OTA_HotelRatePlanRQSub +# end class OTA_HotelRatePlanRQSub + + +class OTA_HotelRatePlanRSSub(supermod.OTA_HotelRatePlanRS): + def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, RatePlans=None, **kwargs_): + super(OTA_HotelRatePlanRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, RatePlans, **kwargs_) +supermod.OTA_HotelRatePlanRS.subclass = OTA_HotelRatePlanRSSub +# end class OTA_HotelRatePlanRSSub + + +class ErrorsTypeSub(supermod.ErrorsType): + def __init__(self, Error=None, **kwargs_): + super(ErrorsTypeSub, self).__init__(Error, **kwargs_) +supermod.ErrorsType.subclass = ErrorsTypeSub +# end class ErrorsTypeSub + + +class ErrorTypeSub(supermod.ErrorType): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorTypeSub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType.subclass = ErrorTypeSub +# end class ErrorTypeSub + + +class WarningsTypeSub(supermod.WarningsType): + def __init__(self, Warning=None, **kwargs_): + super(WarningsTypeSub, self).__init__(Warning, **kwargs_) +supermod.WarningsType.subclass = WarningsTypeSub +# end class WarningsTypeSub + + +class WarningTypeSub(supermod.WarningType): + def __init__(self, Type=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningTypeSub, self).__init__(Type, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType.subclass = WarningTypeSub +# end class WarningTypeSub + + +class EventReportsTypeSub(supermod.EventReportsType): + def __init__(self, EventReport=None, **kwargs_): + super(EventReportsTypeSub, self).__init__(EventReport, **kwargs_) +supermod.EventReportsType.subclass = EventReportsTypeSub +# end class EventReportsTypeSub + + +class EventReportTypeSub(supermod.EventReportType): + def __init__(self, EventSites=None, GeneralEventInfo=None, **kwargs_): + super(EventReportTypeSub, self).__init__(EventSites, GeneralEventInfo, **kwargs_) +supermod.EventReportType.subclass = EventReportTypeSub +# end class EventReportTypeSub + + +class EventSitesTypeSub(supermod.EventSitesType): + def __init__(self, EventSite=None, **kwargs_): + super(EventSitesTypeSub, self).__init__(EventSite, **kwargs_) +supermod.EventSitesType.subclass = EventSitesTypeSub +# end class EventSitesTypeSub + + +class EventSiteTypeSub(supermod.EventSiteType): + def __init__(self, HotelCode=None, HotelName=None, Event_ID=None, **kwargs_): + super(EventSiteTypeSub, self).__init__(HotelCode, HotelName, Event_ID, **kwargs_) +supermod.EventSiteType.subclass = EventSiteTypeSub +# end class EventSiteTypeSub + + +class Event_IDTypeSub(supermod.Event_IDType): + def __init__(self, ID=None, ID_Context=None, Type=None, **kwargs_): + super(Event_IDTypeSub, self).__init__(ID, ID_Context, Type, **kwargs_) +supermod.Event_IDType.subclass = Event_IDTypeSub +# end class Event_IDTypeSub + + +class GeneralEventInfoTypeSub(supermod.GeneralEventInfoType): + def __init__(self, Type=None, URL=None, Acronym=None, EventContacts=None, AttendeeInfo=None, Dates=None, Comments=None, **kwargs_): + super(GeneralEventInfoTypeSub, self).__init__(Type, URL, Acronym, EventContacts, AttendeeInfo, Dates, Comments, **kwargs_) +supermod.GeneralEventInfoType.subclass = GeneralEventInfoTypeSub +# end class GeneralEventInfoTypeSub + + +class EventContactsTypeSub(supermod.EventContactsType): + def __init__(self, EventContact=None, **kwargs_): + super(EventContactsTypeSub, self).__init__(EventContact, **kwargs_) +supermod.EventContactsType.subclass = EventContactsTypeSub +# end class EventContactsTypeSub + + +class EventContactTypeSub(supermod.EventContactType): + def __init__(self, Role=None, PersonName=None, URL=None, EmployeeInfo=None, **kwargs_): + super(EventContactTypeSub, self).__init__(Role, PersonName, URL, EmployeeInfo, **kwargs_) +supermod.EventContactType.subclass = EventContactTypeSub +# end class EventContactTypeSub + + +class PersonNameTypeSub(supermod.PersonNameType): + def __init__(self, GivenName=None, Surname=None, **kwargs_): + super(PersonNameTypeSub, self).__init__(GivenName, Surname, **kwargs_) +supermod.PersonNameType.subclass = PersonNameTypeSub +# end class PersonNameTypeSub + + +class GivenNameTypeSub(supermod.GivenNameType): + def __init__(self, valueOf_=None, **kwargs_): + super(GivenNameTypeSub, self).__init__(valueOf_, **kwargs_) +supermod.GivenNameType.subclass = GivenNameTypeSub +# end class GivenNameTypeSub + + +class SurnameTypeSub(supermod.SurnameType): + def __init__(self, valueOf_=None, **kwargs_): + super(SurnameTypeSub, self).__init__(valueOf_, **kwargs_) +supermod.SurnameType.subclass = SurnameTypeSub +# end class SurnameTypeSub + + +class URLTypeSub(supermod.URLType): + def __init__(self, Type=None, valueOf_=None, **kwargs_): + super(URLTypeSub, self).__init__(Type, valueOf_, **kwargs_) +supermod.URLType.subclass = URLTypeSub +# end class URLTypeSub + + +class EmployeeInfoTypeSub(supermod.EmployeeInfoType): + def __init__(self, EmployeeId=None, **kwargs_): + super(EmployeeInfoTypeSub, self).__init__(EmployeeId, **kwargs_) +supermod.EmployeeInfoType.subclass = EmployeeInfoTypeSub +# end class EmployeeInfoTypeSub + + +class AttendeeInfoTypeSub(supermod.AttendeeInfoType): + def __init__(self, TotalQuantity=None, PreRegisteredQuantity=None, **kwargs_): + super(AttendeeInfoTypeSub, self).__init__(TotalQuantity, PreRegisteredQuantity, **kwargs_) +supermod.AttendeeInfoType.subclass = AttendeeInfoTypeSub +# end class AttendeeInfoTypeSub + + +class DatesTypeSub(supermod.DatesType): + def __init__(self, Date=None, **kwargs_): + super(DatesTypeSub, self).__init__(Date, **kwargs_) +supermod.DatesType.subclass = DatesTypeSub +# end class DatesTypeSub + + +class DateTypeSub(supermod.DateType): + def __init__(self, Start=None, End=None, EndDateWindow=None, LocationCategories=None, **kwargs_): + super(DateTypeSub, self).__init__(Start, End, EndDateWindow, LocationCategories, **kwargs_) +supermod.DateType.subclass = DateTypeSub +# end class DateTypeSub + + +class EndDateWindowTypeSub(supermod.EndDateWindowType): + def __init__(self, LatestDate=None, **kwargs_): + super(EndDateWindowTypeSub, self).__init__(LatestDate, **kwargs_) +supermod.EndDateWindowType.subclass = EndDateWindowTypeSub +# end class EndDateWindowTypeSub + + +class LocationCategoriesTypeSub(supermod.LocationCategoriesType): + def __init__(self, Location=None, Category=None, **kwargs_): + super(LocationCategoriesTypeSub, self).__init__(Location, Category, **kwargs_) +supermod.LocationCategoriesType.subclass = LocationCategoriesTypeSub +# end class LocationCategoriesTypeSub + + +class LocationTypeSub(supermod.LocationType): + def __init__(self, AreaID=None, **kwargs_): + super(LocationTypeSub, self).__init__(AreaID, **kwargs_) +supermod.LocationType.subclass = LocationTypeSub +# end class LocationTypeSub + + +class CategoryTypeSub(supermod.CategoryType): + def __init__(self, Language=None, valueOf_=None, **kwargs_): + super(CategoryTypeSub, self).__init__(Language, valueOf_, **kwargs_) +supermod.CategoryType.subclass = CategoryTypeSub +# end class CategoryTypeSub + + +class CommentsTypeSub(supermod.CommentsType): + def __init__(self, Comment=None, **kwargs_): + super(CommentsTypeSub, self).__init__(Comment, **kwargs_) +supermod.CommentsType.subclass = CommentsTypeSub +# end class CommentsTypeSub + + +class CommentTypeSub(supermod.CommentType): + def __init__(self, Name=None, Text=None, Image=None, **kwargs_): + super(CommentTypeSub, self).__init__(Name, Text, Image, **kwargs_) +supermod.CommentType.subclass = CommentTypeSub +# end class CommentTypeSub + + +class TextTypeSub(supermod.TextType): + def __init__(self, Language=None, valueOf_=None, **kwargs_): + super(TextTypeSub, self).__init__(Language, valueOf_, **kwargs_) +supermod.TextType.subclass = TextTypeSub +# end class TextTypeSub + + +class ImageTypeSub(supermod.ImageType): + def __init__(self, valueOf_=None, **kwargs_): + super(ImageTypeSub, self).__init__(valueOf_, **kwargs_) +supermod.ImageType.subclass = ImageTypeSub +# end class ImageTypeSub + + +class ErrorsType5Sub(supermod.ErrorsType5): + def __init__(self, Error=None, **kwargs_): + super(ErrorsType5Sub, self).__init__(Error, **kwargs_) +supermod.ErrorsType5.subclass = ErrorsType5Sub +# end class ErrorsType5Sub + + +class ErrorType6Sub(supermod.ErrorType6): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorType6Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType6.subclass = ErrorType6Sub +# end class ErrorType6Sub + + +class WarningsType8Sub(supermod.WarningsType8): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType8Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType8.subclass = WarningsType8Sub +# end class WarningsType8Sub + + +class WarningType9Sub(supermod.WarningType9): + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType9Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType9.subclass = WarningType9Sub +# end class WarningType9Sub + + +class UniqueIDTypeSub(supermod.UniqueIDType): + def __init__(self, Type=None, ID=None, Instance=None, **kwargs_): + super(UniqueIDTypeSub, self).__init__(Type, ID, Instance, **kwargs_) +supermod.UniqueIDType.subclass = UniqueIDTypeSub +# end class UniqueIDTypeSub + + +class InventoriesTypeSub(supermod.InventoriesType): + def __init__(self, HotelCode=None, HotelName=None, Inventory=None, **kwargs_): + super(InventoriesTypeSub, self).__init__(HotelCode, HotelName, Inventory, **kwargs_) +supermod.InventoriesType.subclass = InventoriesTypeSub +# end class InventoriesTypeSub + + +class InventoryTypeSub(supermod.InventoryType): + def __init__(self, StatusApplicationControl=None, InvCounts=None, **kwargs_): + super(InventoryTypeSub, self).__init__(StatusApplicationControl, InvCounts, **kwargs_) +supermod.InventoryType.subclass = InventoryTypeSub +# end class InventoryTypeSub + + +class StatusApplicationControlTypeSub(supermod.StatusApplicationControlType): + def __init__(self, Start=None, End=None, InvTypeCode=None, InvCode=None, AllInvCode=None, **kwargs_): + super(StatusApplicationControlTypeSub, self).__init__(Start, End, InvTypeCode, InvCode, AllInvCode, **kwargs_) +supermod.StatusApplicationControlType.subclass = StatusApplicationControlTypeSub +# end class StatusApplicationControlTypeSub + + +class InvCountsTypeSub(supermod.InvCountsType): + def __init__(self, InvCount=None, **kwargs_): + super(InvCountsTypeSub, self).__init__(InvCount, **kwargs_) +supermod.InvCountsType.subclass = InvCountsTypeSub +# end class InvCountsTypeSub + + +class InvCountTypeSub(supermod.InvCountType): + def __init__(self, CountType=None, Count=None, **kwargs_): + super(InvCountTypeSub, self).__init__(CountType, Count, **kwargs_) +supermod.InvCountType.subclass = InvCountTypeSub +# end class InvCountTypeSub + + +class ErrorsType11Sub(supermod.ErrorsType11): + def __init__(self, Error=None, **kwargs_): + super(ErrorsType11Sub, self).__init__(Error, **kwargs_) +supermod.ErrorsType11.subclass = ErrorsType11Sub +# end class ErrorsType11Sub + + +class ErrorType12Sub(supermod.ErrorType12): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorType12Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType12.subclass = ErrorType12Sub +# end class ErrorType12Sub + + +class WarningsType14Sub(supermod.WarningsType14): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType14Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType14.subclass = WarningsType14Sub +# end class WarningsType14Sub + + +class WarningType15Sub(supermod.WarningType15): + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType15Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType15.subclass = WarningType15Sub +# end class WarningType15Sub + + +class HotelReservationsTypeSub(supermod.HotelReservationsType): + def __init__(self, HotelReservation=None, **kwargs_): + super(HotelReservationsTypeSub, self).__init__(HotelReservation, **kwargs_) +supermod.HotelReservationsType.subclass = HotelReservationsTypeSub +# end class HotelReservationsTypeSub + + +class HotelReservationTypeSub(supermod.HotelReservationType): + def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, **kwargs_): + super(HotelReservationTypeSub, self).__init__(CreateDateTime, LastModifyDateTime, ResStatus, RoomStayReservation, UniqueID, RoomStays, Services, ResGuests, ResGlobalInfo, **kwargs_) +supermod.HotelReservationType.subclass = HotelReservationTypeSub +# end class HotelReservationTypeSub + + +class UniqueIDType16Sub(supermod.UniqueIDType16): + def __init__(self, Type=None, ID=None, **kwargs_): + super(UniqueIDType16Sub, self).__init__(Type, ID, **kwargs_) +supermod.UniqueIDType16.subclass = UniqueIDType16Sub +# end class UniqueIDType16Sub + + +class RoomStaysTypeSub(supermod.RoomStaysType): + def __init__(self, RoomStay=None, **kwargs_): + super(RoomStaysTypeSub, self).__init__(RoomStay, **kwargs_) +supermod.RoomStaysType.subclass = RoomStaysTypeSub +# end class RoomStaysTypeSub + + +class RoomStayTypeSub(supermod.RoomStayType): + def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, **kwargs_): + super(RoomStayTypeSub, self).__init__(RoomStayGroupID, RoomTypes, RatePlans, RoomRates, GuestCounts, TimeSpan, Guarantee, Total, ServiceRPHs, **kwargs_) +supermod.RoomStayType.subclass = RoomStayTypeSub +# end class RoomStayTypeSub + + +class RoomTypesTypeSub(supermod.RoomTypesType): + def __init__(self, RoomType=None, **kwargs_): + super(RoomTypesTypeSub, self).__init__(RoomType, **kwargs_) +supermod.RoomTypesType.subclass = RoomTypesTypeSub +# end class RoomTypesTypeSub + + +class RoomTypeTypeSub(supermod.RoomTypeType): + def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, **kwargs_): + super(RoomTypeTypeSub, self).__init__(RoomTypeCode, RoomClassificationCode, RoomType, **kwargs_) +supermod.RoomTypeType.subclass = RoomTypeTypeSub +# end class RoomTypeTypeSub + + +class RatePlansTypeSub(supermod.RatePlansType): + def __init__(self, RatePlan=None, **kwargs_): + super(RatePlansTypeSub, self).__init__(RatePlan, **kwargs_) +supermod.RatePlansType.subclass = RatePlansTypeSub +# end class RatePlansTypeSub + + +class RatePlanTypeSub(supermod.RatePlanType): + def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, **kwargs_): + super(RatePlanTypeSub, self).__init__(RatePlanCode, Commission, MealsIncluded, **kwargs_) +supermod.RatePlanType.subclass = RatePlanTypeSub +# end class RatePlanTypeSub + + +class CommissionTypeSub(supermod.CommissionType): + def __init__(self, Percent=None, CommissionPayableAmount=None, **kwargs_): + super(CommissionTypeSub, self).__init__(Percent, CommissionPayableAmount, **kwargs_) +supermod.CommissionType.subclass = CommissionTypeSub +# end class CommissionTypeSub + + +class CommissionPayableAmountTypeSub(supermod.CommissionPayableAmountType): + def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): + super(CommissionPayableAmountTypeSub, self).__init__(Amount, CurrencyCode, **kwargs_) +supermod.CommissionPayableAmountType.subclass = CommissionPayableAmountTypeSub +# end class CommissionPayableAmountTypeSub + + +class MealsIncludedTypeSub(supermod.MealsIncludedType): + def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, **kwargs_): + super(MealsIncludedTypeSub, self).__init__(MealPlanIndicator, MealPlanCodes, **kwargs_) +supermod.MealsIncludedType.subclass = MealsIncludedTypeSub +# end class MealsIncludedTypeSub + + +class RoomRatesTypeSub(supermod.RoomRatesType): + def __init__(self, RoomRate=None, **kwargs_): + super(RoomRatesTypeSub, self).__init__(RoomRate, **kwargs_) +supermod.RoomRatesType.subclass = RoomRatesTypeSub +# end class RoomRatesTypeSub + + +class RoomRateTypeSub(supermod.RoomRateType): + def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, **kwargs_): + super(RoomRateTypeSub, self).__init__(RatePlanCode, RoomTypeCode, Rates, **kwargs_) +supermod.RoomRateType.subclass = RoomRateTypeSub +# end class RoomRateTypeSub + + +class RatesTypeSub(supermod.RatesType): + def __init__(self, Rate=None, **kwargs_): + super(RatesTypeSub, self).__init__(Rate, **kwargs_) +supermod.RatesType.subclass = RatesTypeSub +# end class RatesTypeSub + + +class RateTypeSub(supermod.RateType): + def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, **kwargs_): + super(RateTypeSub, self).__init__(EffectiveDate, ExpireDate, ExpireDateExclusiveInd, RateTimeUnit, UnitMultiplier, Base, **kwargs_) +supermod.RateType.subclass = RateTypeSub +# end class RateTypeSub + + +class BaseTypeSub(supermod.BaseType): + def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): + super(BaseTypeSub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) +supermod.BaseType.subclass = BaseTypeSub +# end class BaseTypeSub + + +class GuestCountsTypeSub(supermod.GuestCountsType): + def __init__(self, GuestCount=None, **kwargs_): + super(GuestCountsTypeSub, self).__init__(GuestCount, **kwargs_) +supermod.GuestCountsType.subclass = GuestCountsTypeSub +# end class GuestCountsTypeSub + + +class GuestCountTypeSub(supermod.GuestCountType): + def __init__(self, Count=None, Age=None, **kwargs_): + super(GuestCountTypeSub, self).__init__(Count, Age, **kwargs_) +supermod.GuestCountType.subclass = GuestCountTypeSub +# end class GuestCountTypeSub + + +class TimeSpanTypeSub(supermod.TimeSpanType): + def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, **kwargs_): + super(TimeSpanTypeSub, self).__init__(Start, End, Duration, StartDateWindow, **kwargs_) +supermod.TimeSpanType.subclass = TimeSpanTypeSub +# end class TimeSpanTypeSub + + +class StartDateWindowTypeSub(supermod.StartDateWindowType): + def __init__(self, EarliestDate=None, LatestDate=None, **kwargs_): + super(StartDateWindowTypeSub, self).__init__(EarliestDate, LatestDate, **kwargs_) +supermod.StartDateWindowType.subclass = StartDateWindowTypeSub +# end class StartDateWindowTypeSub + + +class GuaranteeTypeSub(supermod.GuaranteeType): + def __init__(self, GuaranteesAccepted=None, **kwargs_): + super(GuaranteeTypeSub, self).__init__(GuaranteesAccepted, **kwargs_) +supermod.GuaranteeType.subclass = GuaranteeTypeSub +# end class GuaranteeTypeSub + + +class GuaranteesAcceptedTypeSub(supermod.GuaranteesAcceptedType): + def __init__(self, GuaranteeAccepted=None, **kwargs_): + super(GuaranteesAcceptedTypeSub, self).__init__(GuaranteeAccepted, **kwargs_) +supermod.GuaranteesAcceptedType.subclass = GuaranteesAcceptedTypeSub +# end class GuaranteesAcceptedTypeSub + + +class GuaranteeAcceptedTypeSub(supermod.GuaranteeAcceptedType): + def __init__(self, PaymentCard=None, **kwargs_): + super(GuaranteeAcceptedTypeSub, self).__init__(PaymentCard, **kwargs_) +supermod.GuaranteeAcceptedType.subclass = GuaranteeAcceptedTypeSub +# end class GuaranteeAcceptedTypeSub + + +class PaymentCardTypeSub(supermod.PaymentCardType): + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): + super(PaymentCardTypeSub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) +supermod.PaymentCardType.subclass = PaymentCardTypeSub +# end class PaymentCardTypeSub + + +class CardNumberTypeSub(supermod.CardNumberType): + def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, **kwargs_): + super(CardNumberTypeSub, self).__init__(EncryptedValue, EncryptionMethod, PlainText, **kwargs_) +supermod.CardNumberType.subclass = CardNumberTypeSub +# end class CardNumberTypeSub + + +class TotalTypeSub(supermod.TotalType): + def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): + super(TotalTypeSub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) +supermod.TotalType.subclass = TotalTypeSub +# end class TotalTypeSub + + +class ServiceRPHsTypeSub(supermod.ServiceRPHsType): + def __init__(self, ServiceRPH=None, **kwargs_): + super(ServiceRPHsTypeSub, self).__init__(ServiceRPH, **kwargs_) +supermod.ServiceRPHsType.subclass = ServiceRPHsTypeSub +# end class ServiceRPHsTypeSub + + +class ServiceRPHTypeSub(supermod.ServiceRPHType): + def __init__(self, RPH=None, **kwargs_): + super(ServiceRPHTypeSub, self).__init__(RPH, **kwargs_) +supermod.ServiceRPHType.subclass = ServiceRPHTypeSub +# end class ServiceRPHTypeSub + + +class ServicesTypeSub(supermod.ServicesType): + def __init__(self, Service=None, **kwargs_): + super(ServicesTypeSub, self).__init__(Service, **kwargs_) +supermod.ServicesType.subclass = ServicesTypeSub +# end class ServicesTypeSub + + +class ServiceTypeSub(supermod.ServiceType): + def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, **kwargs_): + super(ServiceTypeSub, self).__init__(ID, Type, ServiceCategoryCode, ServiceInventoryCode, ServiceRPH, ServicePricingType, Inclusive, Quantity, ServiceDetails, **kwargs_) +supermod.ServiceType.subclass = ServiceTypeSub +# end class ServiceTypeSub + + +class ServiceDetailsTypeSub(supermod.ServiceDetailsType): + def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, **kwargs_): + super(ServiceDetailsTypeSub, self).__init__(GuestCounts, TimeSpan, Comments, Total, ServiceDescription, **kwargs_) +supermod.ServiceDetailsType.subclass = ServiceDetailsTypeSub +# end class ServiceDetailsTypeSub + + +class GuestCountsType19Sub(supermod.GuestCountsType19): + def __init__(self, GuestCount=None, **kwargs_): + super(GuestCountsType19Sub, self).__init__(GuestCount, **kwargs_) +supermod.GuestCountsType19.subclass = GuestCountsType19Sub +# end class GuestCountsType19Sub + + +class GuestCountType20Sub(supermod.GuestCountType20): + def __init__(self, Age=None, Count=None, **kwargs_): + super(GuestCountType20Sub, self).__init__(Age, Count, **kwargs_) +supermod.GuestCountType20.subclass = GuestCountType20Sub +# end class GuestCountType20Sub + + +class TimeSpanType21Sub(supermod.TimeSpanType21): + def __init__(self, Start=None, End=None, **kwargs_): + super(TimeSpanType21Sub, self).__init__(Start, End, **kwargs_) +supermod.TimeSpanType21.subclass = TimeSpanType21Sub +# end class TimeSpanType21Sub + + +class CommentsType22Sub(supermod.CommentsType22): + def __init__(self, Comment=None, **kwargs_): + super(CommentsType22Sub, self).__init__(Comment, **kwargs_) +supermod.CommentsType22.subclass = CommentsType22Sub +# end class CommentsType22Sub + + +class CommentType23Sub(supermod.CommentType23): + def __init__(self, Text=None, **kwargs_): + super(CommentType23Sub, self).__init__(Text, **kwargs_) +supermod.CommentType23.subclass = CommentType23Sub +# end class CommentType23Sub + + +class TextType24Sub(supermod.TextType24): + def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): + super(TextType24Sub, self).__init__(TextFormat, valueOf_, **kwargs_) +supermod.TextType24.subclass = TextType24Sub +# end class TextType24Sub + + +class TotalType25Sub(supermod.TotalType25): + def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): + super(TotalType25Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) +supermod.TotalType25.subclass = TotalType25Sub +# end class TotalType25Sub + + +class ServiceDescriptionTypeSub(supermod.ServiceDescriptionType): + def __init__(self, Text=None, **kwargs_): + super(ServiceDescriptionTypeSub, self).__init__(Text, **kwargs_) +supermod.ServiceDescriptionType.subclass = ServiceDescriptionTypeSub +# end class ServiceDescriptionTypeSub + + +class TextType26Sub(supermod.TextType26): + def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): + super(TextType26Sub, self).__init__(TextFormat, valueOf_, **kwargs_) +supermod.TextType26.subclass = TextType26Sub +# end class TextType26Sub + + +class ResGuestsTypeSub(supermod.ResGuestsType): + def __init__(self, ResGuest=None, **kwargs_): + super(ResGuestsTypeSub, self).__init__(ResGuest, **kwargs_) +supermod.ResGuestsType.subclass = ResGuestsTypeSub +# end class ResGuestsTypeSub + + +class ResGuestTypeSub(supermod.ResGuestType): + def __init__(self, Profiles=None, **kwargs_): + super(ResGuestTypeSub, self).__init__(Profiles, **kwargs_) +supermod.ResGuestType.subclass = ResGuestTypeSub +# end class ResGuestTypeSub + + +class ProfilesTypeSub(supermod.ProfilesType): + def __init__(self, ProfileInfo=None, **kwargs_): + super(ProfilesTypeSub, self).__init__(ProfileInfo, **kwargs_) +supermod.ProfilesType.subclass = ProfilesTypeSub +# end class ProfilesTypeSub + + +class ProfileInfoTypeSub(supermod.ProfileInfoType): + def __init__(self, Profile=None, **kwargs_): + super(ProfileInfoTypeSub, self).__init__(Profile, **kwargs_) +supermod.ProfileInfoType.subclass = ProfileInfoTypeSub +# end class ProfileInfoTypeSub + + +class ProfileTypeSub(supermod.ProfileType): + def __init__(self, Customer=None, **kwargs_): + super(ProfileTypeSub, self).__init__(Customer, **kwargs_) +supermod.ProfileType.subclass = ProfileTypeSub +# end class ProfileTypeSub + + +class CustomerTypeSub(supermod.CustomerType): + def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, **kwargs_): + super(CustomerTypeSub, self).__init__(Gender, BirthDate, Language, PersonName, Telephone, Email, Address, **kwargs_) +supermod.CustomerType.subclass = CustomerTypeSub +# end class CustomerTypeSub + + +class PersonNameType30Sub(supermod.PersonNameType30): + def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, **kwargs_): + super(PersonNameType30Sub, self).__init__(NamePrefix, GivenName, Surname, NameTitle, **kwargs_) +supermod.PersonNameType30.subclass = PersonNameType30Sub +# end class PersonNameType30Sub + + +class TelephoneTypeSub(supermod.TelephoneType): + def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): + super(TelephoneTypeSub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) +supermod.TelephoneType.subclass = TelephoneTypeSub +# end class TelephoneTypeSub + + +class EmailTypeSub(supermod.EmailType): + def __init__(self, Remark=None, valueOf_=None, **kwargs_): + super(EmailTypeSub, self).__init__(Remark, valueOf_, **kwargs_) +supermod.EmailType.subclass = EmailTypeSub +# end class EmailTypeSub + + +class AddressTypeSub(supermod.AddressType): + def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): + super(AddressTypeSub, self).__init__(Remark, AddressLine, CityName, PostalCode, CountryName, **kwargs_) +supermod.AddressType.subclass = AddressTypeSub +# end class AddressTypeSub + + +class CountryNameTypeSub(supermod.CountryNameType): + def __init__(self, Code=None, **kwargs_): + super(CountryNameTypeSub, self).__init__(Code, **kwargs_) +supermod.CountryNameType.subclass = CountryNameTypeSub +# end class CountryNameTypeSub + + +class ResGlobalInfoTypeSub(supermod.ResGlobalInfoType): + def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, **kwargs_): + super(ResGlobalInfoTypeSub, self).__init__(Comments, SpecialRequests, DepositPayments, CancelPenalties, HotelReservationIDs, Profiles, BasicPropertyInfo, **kwargs_) +supermod.ResGlobalInfoType.subclass = ResGlobalInfoTypeSub +# end class ResGlobalInfoTypeSub + + +class CommentsType33Sub(supermod.CommentsType33): + def __init__(self, Comment=None, **kwargs_): + super(CommentsType33Sub, self).__init__(Comment, **kwargs_) +supermod.CommentsType33.subclass = CommentsType33Sub +# end class CommentsType33Sub + + +class CommentType34Sub(supermod.CommentType34): + def __init__(self, Name=None, ListItem=None, Text=None, **kwargs_): + super(CommentType34Sub, self).__init__(Name, ListItem, Text, **kwargs_) +supermod.CommentType34.subclass = CommentType34Sub +# end class CommentType34Sub + + +class ListItemTypeSub(supermod.ListItemType): + def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): + super(ListItemTypeSub, self).__init__(ListItem, Language, valueOf_, **kwargs_) +supermod.ListItemType.subclass = ListItemTypeSub +# end class ListItemTypeSub + + +class SpecialRequestsTypeSub(supermod.SpecialRequestsType): + def __init__(self, SpecialRequest=None, **kwargs_): + super(SpecialRequestsTypeSub, self).__init__(SpecialRequest, **kwargs_) +supermod.SpecialRequestsType.subclass = SpecialRequestsTypeSub +# end class SpecialRequestsTypeSub + + +class SpecialRequestTypeSub(supermod.SpecialRequestType): + def __init__(self, RequestCode=None, CodeContext=None, Text=None, **kwargs_): + super(SpecialRequestTypeSub, self).__init__(RequestCode, CodeContext, Text, **kwargs_) +supermod.SpecialRequestType.subclass = SpecialRequestTypeSub +# end class SpecialRequestTypeSub + + +class TextType37Sub(supermod.TextType37): + def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): + super(TextType37Sub, self).__init__(TextFormat, valueOf_, **kwargs_) +supermod.TextType37.subclass = TextType37Sub +# end class TextType37Sub + + +class DepositPaymentsTypeSub(supermod.DepositPaymentsType): + def __init__(self, GuaranteePayment=None, **kwargs_): + super(DepositPaymentsTypeSub, self).__init__(GuaranteePayment, **kwargs_) +supermod.DepositPaymentsType.subclass = DepositPaymentsTypeSub +# end class DepositPaymentsTypeSub + + +class GuaranteePaymentTypeSub(supermod.GuaranteePaymentType): + def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, **kwargs_): + super(GuaranteePaymentTypeSub, self).__init__(Start, GuaranteeCode, AcceptedPayments, AmountPercent, **kwargs_) +supermod.GuaranteePaymentType.subclass = GuaranteePaymentTypeSub +# end class GuaranteePaymentTypeSub + + +class AcceptedPaymentsTypeSub(supermod.AcceptedPaymentsType): + def __init__(self, AcceptedPayment=None, **kwargs_): + super(AcceptedPaymentsTypeSub, self).__init__(AcceptedPayment, **kwargs_) +supermod.AcceptedPaymentsType.subclass = AcceptedPaymentsTypeSub +# end class AcceptedPaymentsTypeSub + + +class AcceptedPaymentTypeSub(supermod.AcceptedPaymentType): + def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, **kwargs_): + super(AcceptedPaymentTypeSub, self).__init__(GuaranteeTypeCode, GuaranteeID, PaymentTransactionTypeCode, PaymentCard, BankAcct, Voucher, **kwargs_) +supermod.AcceptedPaymentType.subclass = AcceptedPaymentTypeSub +# end class AcceptedPaymentTypeSub + + +class PaymentCardType39Sub(supermod.PaymentCardType39): + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): + super(PaymentCardType39Sub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) +supermod.PaymentCardType39.subclass = PaymentCardType39Sub +# end class PaymentCardType39Sub + + +class CardNumberType40Sub(supermod.CardNumberType40): + def __init__(self, Mask=None, Token=None, TokenProviderID=None, **kwargs_): + super(CardNumberType40Sub, self).__init__(Mask, Token, TokenProviderID, **kwargs_) +supermod.CardNumberType40.subclass = CardNumberType40Sub +# end class CardNumberType40Sub + + +class BankAcctTypeSub(supermod.BankAcctType): + def __init__(self, BankAcctName=None, BankAcctNumber=None, **kwargs_): + super(BankAcctTypeSub, self).__init__(BankAcctName, BankAcctNumber, **kwargs_) +supermod.BankAcctType.subclass = BankAcctTypeSub +# end class BankAcctTypeSub + + +class BankAcctNumberTypeSub(supermod.BankAcctNumberType): + def __init__(self, Mask=None, PlainText=None, **kwargs_): + super(BankAcctNumberTypeSub, self).__init__(Mask, PlainText, **kwargs_) +supermod.BankAcctNumberType.subclass = BankAcctNumberTypeSub +# end class BankAcctNumberTypeSub + + +class VoucherTypeSub(supermod.VoucherType): + def __init__(self, ElectronicIndicator=None, Identifier=None, **kwargs_): + super(VoucherTypeSub, self).__init__(ElectronicIndicator, Identifier, **kwargs_) +supermod.VoucherType.subclass = VoucherTypeSub +# end class VoucherTypeSub + + +class AmountPercentTypeSub(supermod.AmountPercentType): + def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): + super(AmountPercentTypeSub, self).__init__(Amount, CurrencyCode, **kwargs_) +supermod.AmountPercentType.subclass = AmountPercentTypeSub +# end class AmountPercentTypeSub + + +class CancelPenaltiesTypeSub(supermod.CancelPenaltiesType): + def __init__(self, CancelPenalty=None, **kwargs_): + super(CancelPenaltiesTypeSub, self).__init__(CancelPenalty, **kwargs_) +supermod.CancelPenaltiesType.subclass = CancelPenaltiesTypeSub +# end class CancelPenaltiesTypeSub + + +class CancelPenaltyTypeSub(supermod.CancelPenaltyType): + def __init__(self, PenaltyDescription=None, **kwargs_): + super(CancelPenaltyTypeSub, self).__init__(PenaltyDescription, **kwargs_) +supermod.CancelPenaltyType.subclass = CancelPenaltyTypeSub +# end class CancelPenaltyTypeSub + + +class PenaltyDescriptionTypeSub(supermod.PenaltyDescriptionType): + def __init__(self, Text=None, **kwargs_): + super(PenaltyDescriptionTypeSub, self).__init__(Text, **kwargs_) +supermod.PenaltyDescriptionType.subclass = PenaltyDescriptionTypeSub +# end class PenaltyDescriptionTypeSub + + +class HotelReservationIDsTypeSub(supermod.HotelReservationIDsType): + def __init__(self, HotelReservationID=None, **kwargs_): + super(HotelReservationIDsTypeSub, self).__init__(HotelReservationID, **kwargs_) +supermod.HotelReservationIDsType.subclass = HotelReservationIDsTypeSub +# end class HotelReservationIDsTypeSub + + +class HotelReservationIDTypeSub(supermod.HotelReservationIDType): + def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, **kwargs_): + super(HotelReservationIDTypeSub, self).__init__(ResID_Type, ResID_Value, ResID_Source, ResID_SourceContext, **kwargs_) +supermod.HotelReservationIDType.subclass = HotelReservationIDTypeSub +# end class HotelReservationIDTypeSub + + +class ProfilesType44Sub(supermod.ProfilesType44): + def __init__(self, ProfileInfo=None, **kwargs_): + super(ProfilesType44Sub, self).__init__(ProfileInfo, **kwargs_) +supermod.ProfilesType44.subclass = ProfilesType44Sub +# end class ProfilesType44Sub + + +class ProfileInfoType45Sub(supermod.ProfileInfoType45): + def __init__(self, Profile=None, **kwargs_): + super(ProfileInfoType45Sub, self).__init__(Profile, **kwargs_) +supermod.ProfileInfoType45.subclass = ProfileInfoType45Sub +# end class ProfileInfoType45Sub + + +class ProfileType46Sub(supermod.ProfileType46): + def __init__(self, ProfileType=None, CompanyInfo=None, **kwargs_): + super(ProfileType46Sub, self).__init__(ProfileType, CompanyInfo, **kwargs_) +supermod.ProfileType46.subclass = ProfileType46Sub +# end class ProfileType46Sub + + +class CompanyInfoTypeSub(supermod.CompanyInfoType): + def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, **kwargs_): + super(CompanyInfoTypeSub, self).__init__(CompanyName, AddressInfo, TelephoneInfo, Email, **kwargs_) +supermod.CompanyInfoType.subclass = CompanyInfoTypeSub +# end class CompanyInfoTypeSub + + +class CompanyNameTypeSub(supermod.CompanyNameType): + def __init__(self, Code=None, CodeContext=None, valueOf_=None, **kwargs_): + super(CompanyNameTypeSub, self).__init__(Code, CodeContext, valueOf_, **kwargs_) +supermod.CompanyNameType.subclass = CompanyNameTypeSub +# end class CompanyNameTypeSub + + +class AddressInfoTypeSub(supermod.AddressInfoType): + def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): + super(AddressInfoTypeSub, self).__init__(AddressLine, CityName, PostalCode, CountryName, **kwargs_) +supermod.AddressInfoType.subclass = AddressInfoTypeSub +# end class AddressInfoTypeSub + + +class CountryNameType47Sub(supermod.CountryNameType47): + def __init__(self, Code=None, **kwargs_): + super(CountryNameType47Sub, self).__init__(Code, **kwargs_) +supermod.CountryNameType47.subclass = CountryNameType47Sub +# end class CountryNameType47Sub + + +class TelephoneInfoTypeSub(supermod.TelephoneInfoType): + def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): + super(TelephoneInfoTypeSub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) +supermod.TelephoneInfoType.subclass = TelephoneInfoTypeSub +# end class TelephoneInfoTypeSub + + +class BasicPropertyInfoTypeSub(supermod.BasicPropertyInfoType): + def __init__(self, HotelCode=None, HotelName=None, **kwargs_): + super(BasicPropertyInfoTypeSub, self).__init__(HotelCode, HotelName, **kwargs_) +supermod.BasicPropertyInfoType.subclass = BasicPropertyInfoTypeSub +# end class BasicPropertyInfoTypeSub + + +class ErrorsType51Sub(supermod.ErrorsType51): + def __init__(self, Error=None, **kwargs_): + super(ErrorsType51Sub, self).__init__(Error, **kwargs_) +supermod.ErrorsType51.subclass = ErrorsType51Sub +# end class ErrorsType51Sub + + +class ErrorType52Sub(supermod.ErrorType52): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorType52Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType52.subclass = ErrorType52Sub +# end class ErrorType52Sub + + +class WarningsType54Sub(supermod.WarningsType54): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType54Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType54.subclass = WarningsType54Sub +# end class WarningsType54Sub + + +class WarningType55Sub(supermod.WarningType55): + def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType55Sub, self).__init__(Type, Code, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType55.subclass = WarningType55Sub +# end class WarningType55Sub + + +class HotelReservationsType56Sub(supermod.HotelReservationsType56): + def __init__(self, HotelReservation=None, **kwargs_): + super(HotelReservationsType56Sub, self).__init__(HotelReservation, **kwargs_) +supermod.HotelReservationsType56.subclass = HotelReservationsType56Sub +# end class HotelReservationsType56Sub + + +class HotelReservationType57Sub(supermod.HotelReservationType57): + def __init__(self, UniqueID=None, **kwargs_): + super(HotelReservationType57Sub, self).__init__(UniqueID, **kwargs_) +supermod.HotelReservationType57.subclass = HotelReservationType57Sub +# end class HotelReservationType57Sub + + +class UniqueIDType58Sub(supermod.UniqueIDType58): + def __init__(self, Type=None, ID=None, **kwargs_): + super(UniqueIDType58Sub, self).__init__(Type, ID, **kwargs_) +supermod.UniqueIDType58.subclass = UniqueIDType58Sub +# end class UniqueIDType58Sub + + +class ReadRequestsTypeSub(supermod.ReadRequestsType): + def __init__(self, HotelReadRequest=None, **kwargs_): + super(ReadRequestsTypeSub, self).__init__(HotelReadRequest, **kwargs_) +supermod.ReadRequestsType.subclass = ReadRequestsTypeSub +# end class ReadRequestsTypeSub + + +class HotelReadRequestTypeSub(supermod.HotelReadRequestType): + def __init__(self, HotelCode=None, HotelName=None, SelectionCriteria=None, **kwargs_): + super(HotelReadRequestTypeSub, self).__init__(HotelCode, HotelName, SelectionCriteria, **kwargs_) +supermod.HotelReadRequestType.subclass = HotelReadRequestTypeSub +# end class HotelReadRequestTypeSub + + +class SelectionCriteriaTypeSub(supermod.SelectionCriteriaType): + def __init__(self, Start=None, **kwargs_): + super(SelectionCriteriaTypeSub, self).__init__(Start, **kwargs_) +supermod.SelectionCriteriaType.subclass = SelectionCriteriaTypeSub +# end class SelectionCriteriaTypeSub + + +class ErrorsType60Sub(supermod.ErrorsType60): + def __init__(self, Error=None, **kwargs_): + super(ErrorsType60Sub, self).__init__(Error, **kwargs_) +supermod.ErrorsType60.subclass = ErrorsType60Sub +# end class ErrorsType60Sub + + +class ErrorType61Sub(supermod.ErrorType61): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorType61Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType61.subclass = ErrorType61Sub +# end class ErrorType61Sub + + +class WarningsType63Sub(supermod.WarningsType63): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType63Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType63.subclass = WarningsType63Sub +# end class WarningsType63Sub + + +class WarningType64Sub(supermod.WarningType64): + def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType64Sub, self).__init__(Type, Code, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType64.subclass = WarningType64Sub +# end class WarningType64Sub + + +class ReservationsListTypeSub(supermod.ReservationsListType): + def __init__(self, HotelReservation=None, **kwargs_): + super(ReservationsListTypeSub, self).__init__(HotelReservation, **kwargs_) +supermod.ReservationsListType.subclass = ReservationsListTypeSub +# end class ReservationsListTypeSub + + +class HotelReservationType65Sub(supermod.HotelReservationType65): + def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, **kwargs_): + super(HotelReservationType65Sub, self).__init__(CreateDateTime, LastModifyDateTime, ResStatus, RoomStayReservation, UniqueID, RoomStays, Services, ResGuests, ResGlobalInfo, **kwargs_) +supermod.HotelReservationType65.subclass = HotelReservationType65Sub +# end class HotelReservationType65Sub + + +class UniqueIDType66Sub(supermod.UniqueIDType66): + def __init__(self, Type=None, ID=None, **kwargs_): + super(UniqueIDType66Sub, self).__init__(Type, ID, **kwargs_) +supermod.UniqueIDType66.subclass = UniqueIDType66Sub +# end class UniqueIDType66Sub + + +class RoomStaysType68Sub(supermod.RoomStaysType68): + def __init__(self, RoomStay=None, **kwargs_): + super(RoomStaysType68Sub, self).__init__(RoomStay, **kwargs_) +supermod.RoomStaysType68.subclass = RoomStaysType68Sub +# end class RoomStaysType68Sub + + +class RoomStayType69Sub(supermod.RoomStayType69): + def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, **kwargs_): + super(RoomStayType69Sub, self).__init__(RoomStayGroupID, RoomTypes, RatePlans, RoomRates, GuestCounts, TimeSpan, Guarantee, Total, ServiceRPHs, **kwargs_) +supermod.RoomStayType69.subclass = RoomStayType69Sub +# end class RoomStayType69Sub + + +class RoomTypesType70Sub(supermod.RoomTypesType70): + def __init__(self, RoomType=None, **kwargs_): + super(RoomTypesType70Sub, self).__init__(RoomType, **kwargs_) +supermod.RoomTypesType70.subclass = RoomTypesType70Sub +# end class RoomTypesType70Sub + + +class RoomTypeType71Sub(supermod.RoomTypeType71): + def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, **kwargs_): + super(RoomTypeType71Sub, self).__init__(RoomTypeCode, RoomClassificationCode, RoomType, **kwargs_) +supermod.RoomTypeType71.subclass = RoomTypeType71Sub +# end class RoomTypeType71Sub + + +class RatePlansType73Sub(supermod.RatePlansType73): + def __init__(self, RatePlan=None, **kwargs_): + super(RatePlansType73Sub, self).__init__(RatePlan, **kwargs_) +supermod.RatePlansType73.subclass = RatePlansType73Sub +# end class RatePlansType73Sub + + +class RatePlanType74Sub(supermod.RatePlanType74): + def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, **kwargs_): + super(RatePlanType74Sub, self).__init__(RatePlanCode, Commission, MealsIncluded, **kwargs_) +supermod.RatePlanType74.subclass = RatePlanType74Sub +# end class RatePlanType74Sub + + +class CommissionType75Sub(supermod.CommissionType75): + def __init__(self, Percent=None, CommissionPayableAmount=None, **kwargs_): + super(CommissionType75Sub, self).__init__(Percent, CommissionPayableAmount, **kwargs_) +supermod.CommissionType75.subclass = CommissionType75Sub +# end class CommissionType75Sub + + +class CommissionPayableAmountType76Sub(supermod.CommissionPayableAmountType76): + def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): + super(CommissionPayableAmountType76Sub, self).__init__(Amount, CurrencyCode, **kwargs_) +supermod.CommissionPayableAmountType76.subclass = CommissionPayableAmountType76Sub +# end class CommissionPayableAmountType76Sub + + +class MealsIncludedType77Sub(supermod.MealsIncludedType77): + def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, **kwargs_): + super(MealsIncludedType77Sub, self).__init__(MealPlanIndicator, MealPlanCodes, **kwargs_) +supermod.MealsIncludedType77.subclass = MealsIncludedType77Sub +# end class MealsIncludedType77Sub + + +class RoomRatesType80Sub(supermod.RoomRatesType80): + def __init__(self, RoomRate=None, **kwargs_): + super(RoomRatesType80Sub, self).__init__(RoomRate, **kwargs_) +supermod.RoomRatesType80.subclass = RoomRatesType80Sub +# end class RoomRatesType80Sub + + +class RoomRateType81Sub(supermod.RoomRateType81): + def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, **kwargs_): + super(RoomRateType81Sub, self).__init__(RatePlanCode, RoomTypeCode, Rates, **kwargs_) +supermod.RoomRateType81.subclass = RoomRateType81Sub +# end class RoomRateType81Sub + + +class RatesType82Sub(supermod.RatesType82): + def __init__(self, Rate=None, **kwargs_): + super(RatesType82Sub, self).__init__(Rate, **kwargs_) +supermod.RatesType82.subclass = RatesType82Sub +# end class RatesType82Sub + + +class RateType83Sub(supermod.RateType83): + def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, **kwargs_): + super(RateType83Sub, self).__init__(EffectiveDate, ExpireDate, ExpireDateExclusiveInd, RateTimeUnit, UnitMultiplier, Base, **kwargs_) +supermod.RateType83.subclass = RateType83Sub +# end class RateType83Sub + + +class BaseType84Sub(supermod.BaseType84): + def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): + super(BaseType84Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) +supermod.BaseType84.subclass = BaseType84Sub +# end class BaseType84Sub + + +class GuestCountsType86Sub(supermod.GuestCountsType86): + def __init__(self, GuestCount=None, **kwargs_): + super(GuestCountsType86Sub, self).__init__(GuestCount, **kwargs_) +supermod.GuestCountsType86.subclass = GuestCountsType86Sub +# end class GuestCountsType86Sub + + +class GuestCountType87Sub(supermod.GuestCountType87): + def __init__(self, Count=None, Age=None, **kwargs_): + super(GuestCountType87Sub, self).__init__(Count, Age, **kwargs_) +supermod.GuestCountType87.subclass = GuestCountType87Sub +# end class GuestCountType87Sub + + +class TimeSpanType88Sub(supermod.TimeSpanType88): + def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, **kwargs_): + super(TimeSpanType88Sub, self).__init__(Start, End, Duration, StartDateWindow, **kwargs_) +supermod.TimeSpanType88.subclass = TimeSpanType88Sub +# end class TimeSpanType88Sub + + +class StartDateWindowType89Sub(supermod.StartDateWindowType89): + def __init__(self, EarliestDate=None, LatestDate=None, **kwargs_): + super(StartDateWindowType89Sub, self).__init__(EarliestDate, LatestDate, **kwargs_) +supermod.StartDateWindowType89.subclass = StartDateWindowType89Sub +# end class StartDateWindowType89Sub + + +class GuaranteeType91Sub(supermod.GuaranteeType91): + def __init__(self, GuaranteesAccepted=None, **kwargs_): + super(GuaranteeType91Sub, self).__init__(GuaranteesAccepted, **kwargs_) +supermod.GuaranteeType91.subclass = GuaranteeType91Sub +# end class GuaranteeType91Sub + + +class GuaranteesAcceptedType92Sub(supermod.GuaranteesAcceptedType92): + def __init__(self, GuaranteeAccepted=None, **kwargs_): + super(GuaranteesAcceptedType92Sub, self).__init__(GuaranteeAccepted, **kwargs_) +supermod.GuaranteesAcceptedType92.subclass = GuaranteesAcceptedType92Sub +# end class GuaranteesAcceptedType92Sub + + +class GuaranteeAcceptedType93Sub(supermod.GuaranteeAcceptedType93): + def __init__(self, PaymentCard=None, **kwargs_): + super(GuaranteeAcceptedType93Sub, self).__init__(PaymentCard, **kwargs_) +supermod.GuaranteeAcceptedType93.subclass = GuaranteeAcceptedType93Sub +# end class GuaranteeAcceptedType93Sub + + +class PaymentCardType94Sub(supermod.PaymentCardType94): + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): + super(PaymentCardType94Sub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) +supermod.PaymentCardType94.subclass = PaymentCardType94Sub +# end class PaymentCardType94Sub + + +class CardNumberType95Sub(supermod.CardNumberType95): + def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, **kwargs_): + super(CardNumberType95Sub, self).__init__(EncryptedValue, EncryptionMethod, PlainText, **kwargs_) +supermod.CardNumberType95.subclass = CardNumberType95Sub +# end class CardNumberType95Sub + + +class TotalType98Sub(supermod.TotalType98): + def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): + super(TotalType98Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) +supermod.TotalType98.subclass = TotalType98Sub +# end class TotalType98Sub + + +class ServiceRPHsType99Sub(supermod.ServiceRPHsType99): + def __init__(self, ServiceRPH=None, **kwargs_): + super(ServiceRPHsType99Sub, self).__init__(ServiceRPH, **kwargs_) +supermod.ServiceRPHsType99.subclass = ServiceRPHsType99Sub +# end class ServiceRPHsType99Sub + + +class ServiceRPHType100Sub(supermod.ServiceRPHType100): + def __init__(self, RPH=None, **kwargs_): + super(ServiceRPHType100Sub, self).__init__(RPH, **kwargs_) +supermod.ServiceRPHType100.subclass = ServiceRPHType100Sub +# end class ServiceRPHType100Sub + + +class ServicesType102Sub(supermod.ServicesType102): + def __init__(self, Service=None, **kwargs_): + super(ServicesType102Sub, self).__init__(Service, **kwargs_) +supermod.ServicesType102.subclass = ServicesType102Sub +# end class ServicesType102Sub + + +class ServiceType103Sub(supermod.ServiceType103): + def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, **kwargs_): + super(ServiceType103Sub, self).__init__(ID, Type, ServiceCategoryCode, ServiceInventoryCode, ServiceRPH, ServicePricingType, Inclusive, Quantity, ServiceDetails, **kwargs_) +supermod.ServiceType103.subclass = ServiceType103Sub +# end class ServiceType103Sub + + +class ServiceDetailsType104Sub(supermod.ServiceDetailsType104): + def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, **kwargs_): + super(ServiceDetailsType104Sub, self).__init__(GuestCounts, TimeSpan, Comments, Total, ServiceDescription, **kwargs_) +supermod.ServiceDetailsType104.subclass = ServiceDetailsType104Sub +# end class ServiceDetailsType104Sub + + +class GuestCountsType105Sub(supermod.GuestCountsType105): + def __init__(self, GuestCount=None, **kwargs_): + super(GuestCountsType105Sub, self).__init__(GuestCount, **kwargs_) +supermod.GuestCountsType105.subclass = GuestCountsType105Sub +# end class GuestCountsType105Sub + + +class GuestCountType106Sub(supermod.GuestCountType106): + def __init__(self, Age=None, Count=None, **kwargs_): + super(GuestCountType106Sub, self).__init__(Age, Count, **kwargs_) +supermod.GuestCountType106.subclass = GuestCountType106Sub +# end class GuestCountType106Sub + + +class TimeSpanType107Sub(supermod.TimeSpanType107): + def __init__(self, Start=None, End=None, **kwargs_): + super(TimeSpanType107Sub, self).__init__(Start, End, **kwargs_) +supermod.TimeSpanType107.subclass = TimeSpanType107Sub +# end class TimeSpanType107Sub + + +class CommentsType108Sub(supermod.CommentsType108): + def __init__(self, Comment=None, **kwargs_): + super(CommentsType108Sub, self).__init__(Comment, **kwargs_) +supermod.CommentsType108.subclass = CommentsType108Sub +# end class CommentsType108Sub + + +class CommentType109Sub(supermod.CommentType109): + def __init__(self, Text=None, **kwargs_): + super(CommentType109Sub, self).__init__(Text, **kwargs_) +supermod.CommentType109.subclass = CommentType109Sub +# end class CommentType109Sub + + +class TextType110Sub(supermod.TextType110): + def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): + super(TextType110Sub, self).__init__(TextFormat, valueOf_, **kwargs_) +supermod.TextType110.subclass = TextType110Sub +# end class TextType110Sub + + +class TotalType112Sub(supermod.TotalType112): + def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): + super(TotalType112Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) +supermod.TotalType112.subclass = TotalType112Sub +# end class TotalType112Sub + + +class ServiceDescriptionType113Sub(supermod.ServiceDescriptionType113): + def __init__(self, Text=None, **kwargs_): + super(ServiceDescriptionType113Sub, self).__init__(Text, **kwargs_) +supermod.ServiceDescriptionType113.subclass = ServiceDescriptionType113Sub +# end class ServiceDescriptionType113Sub + + +class TextType114Sub(supermod.TextType114): + def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): + super(TextType114Sub, self).__init__(TextFormat, valueOf_, **kwargs_) +supermod.TextType114.subclass = TextType114Sub +# end class TextType114Sub + + +class ResGuestsType120Sub(supermod.ResGuestsType120): + def __init__(self, ResGuest=None, **kwargs_): + super(ResGuestsType120Sub, self).__init__(ResGuest, **kwargs_) +supermod.ResGuestsType120.subclass = ResGuestsType120Sub +# end class ResGuestsType120Sub + + +class ResGuestType121Sub(supermod.ResGuestType121): + def __init__(self, Profiles=None, **kwargs_): + super(ResGuestType121Sub, self).__init__(Profiles, **kwargs_) +supermod.ResGuestType121.subclass = ResGuestType121Sub +# end class ResGuestType121Sub + + +class ProfilesType122Sub(supermod.ProfilesType122): + def __init__(self, ProfileInfo=None, **kwargs_): + super(ProfilesType122Sub, self).__init__(ProfileInfo, **kwargs_) +supermod.ProfilesType122.subclass = ProfilesType122Sub +# end class ProfilesType122Sub + + +class ProfileInfoType123Sub(supermod.ProfileInfoType123): + def __init__(self, Profile=None, **kwargs_): + super(ProfileInfoType123Sub, self).__init__(Profile, **kwargs_) +supermod.ProfileInfoType123.subclass = ProfileInfoType123Sub +# end class ProfileInfoType123Sub + + +class ProfileType124Sub(supermod.ProfileType124): + def __init__(self, Customer=None, **kwargs_): + super(ProfileType124Sub, self).__init__(Customer, **kwargs_) +supermod.ProfileType124.subclass = ProfileType124Sub +# end class ProfileType124Sub + + +class CustomerType125Sub(supermod.CustomerType125): + def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, **kwargs_): + super(CustomerType125Sub, self).__init__(Gender, BirthDate, Language, PersonName, Telephone, Email, Address, **kwargs_) +supermod.CustomerType125.subclass = CustomerType125Sub +# end class CustomerType125Sub + + +class PersonNameType126Sub(supermod.PersonNameType126): + def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, **kwargs_): + super(PersonNameType126Sub, self).__init__(NamePrefix, GivenName, Surname, NameTitle, **kwargs_) +supermod.PersonNameType126.subclass = PersonNameType126Sub +# end class PersonNameType126Sub + + +class TelephoneType127Sub(supermod.TelephoneType127): + def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): + super(TelephoneType127Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) +supermod.TelephoneType127.subclass = TelephoneType127Sub +# end class TelephoneType127Sub + + +class EmailType130Sub(supermod.EmailType130): + def __init__(self, Remark=None, valueOf_=None, **kwargs_): + super(EmailType130Sub, self).__init__(Remark, valueOf_, **kwargs_) +supermod.EmailType130.subclass = EmailType130Sub +# end class EmailType130Sub + + +class AddressType132Sub(supermod.AddressType132): + def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): + super(AddressType132Sub, self).__init__(Remark, AddressLine, CityName, PostalCode, CountryName, **kwargs_) +supermod.AddressType132.subclass = AddressType132Sub +# end class AddressType132Sub + + +class CountryNameType133Sub(supermod.CountryNameType133): + def __init__(self, Code=None, **kwargs_): + super(CountryNameType133Sub, self).__init__(Code, **kwargs_) +supermod.CountryNameType133.subclass = CountryNameType133Sub +# end class CountryNameType133Sub + + +class ResGlobalInfoType138Sub(supermod.ResGlobalInfoType138): + def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, **kwargs_): + super(ResGlobalInfoType138Sub, self).__init__(Comments, SpecialRequests, DepositPayments, CancelPenalties, HotelReservationIDs, Profiles, BasicPropertyInfo, **kwargs_) +supermod.ResGlobalInfoType138.subclass = ResGlobalInfoType138Sub +# end class ResGlobalInfoType138Sub + + +class CommentsType139Sub(supermod.CommentsType139): + def __init__(self, Comment=None, **kwargs_): + super(CommentsType139Sub, self).__init__(Comment, **kwargs_) +supermod.CommentsType139.subclass = CommentsType139Sub +# end class CommentsType139Sub + + +class CommentType140Sub(supermod.CommentType140): + def __init__(self, Name=None, ListItem=None, Text=None, **kwargs_): + super(CommentType140Sub, self).__init__(Name, ListItem, Text, **kwargs_) +supermod.CommentType140.subclass = CommentType140Sub +# end class CommentType140Sub + + +class ListItemType141Sub(supermod.ListItemType141): + def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): + super(ListItemType141Sub, self).__init__(ListItem, Language, valueOf_, **kwargs_) +supermod.ListItemType141.subclass = ListItemType141Sub +# end class ListItemType141Sub + + +class SpecialRequestsType144Sub(supermod.SpecialRequestsType144): + def __init__(self, SpecialRequest=None, **kwargs_): + super(SpecialRequestsType144Sub, self).__init__(SpecialRequest, **kwargs_) +supermod.SpecialRequestsType144.subclass = SpecialRequestsType144Sub +# end class SpecialRequestsType144Sub + + +class SpecialRequestType145Sub(supermod.SpecialRequestType145): + def __init__(self, RequestCode=None, CodeContext=None, Text=None, **kwargs_): + super(SpecialRequestType145Sub, self).__init__(RequestCode, CodeContext, Text, **kwargs_) +supermod.SpecialRequestType145.subclass = SpecialRequestType145Sub +# end class SpecialRequestType145Sub + + +class TextType146Sub(supermod.TextType146): + def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): + super(TextType146Sub, self).__init__(TextFormat, valueOf_, **kwargs_) +supermod.TextType146.subclass = TextType146Sub +# end class TextType146Sub + + +class DepositPaymentsType149Sub(supermod.DepositPaymentsType149): + def __init__(self, GuaranteePayment=None, **kwargs_): + super(DepositPaymentsType149Sub, self).__init__(GuaranteePayment, **kwargs_) +supermod.DepositPaymentsType149.subclass = DepositPaymentsType149Sub +# end class DepositPaymentsType149Sub + + +class GuaranteePaymentType150Sub(supermod.GuaranteePaymentType150): + def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, **kwargs_): + super(GuaranteePaymentType150Sub, self).__init__(Start, GuaranteeCode, AcceptedPayments, AmountPercent, **kwargs_) +supermod.GuaranteePaymentType150.subclass = GuaranteePaymentType150Sub +# end class GuaranteePaymentType150Sub + + +class AcceptedPaymentsType151Sub(supermod.AcceptedPaymentsType151): + def __init__(self, AcceptedPayment=None, **kwargs_): + super(AcceptedPaymentsType151Sub, self).__init__(AcceptedPayment, **kwargs_) +supermod.AcceptedPaymentsType151.subclass = AcceptedPaymentsType151Sub +# end class AcceptedPaymentsType151Sub + + +class AcceptedPaymentType152Sub(supermod.AcceptedPaymentType152): + def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, **kwargs_): + super(AcceptedPaymentType152Sub, self).__init__(GuaranteeTypeCode, GuaranteeID, PaymentTransactionTypeCode, PaymentCard, BankAcct, Voucher, **kwargs_) +supermod.AcceptedPaymentType152.subclass = AcceptedPaymentType152Sub +# end class AcceptedPaymentType152Sub + + +class PaymentCardType153Sub(supermod.PaymentCardType153): + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): + super(PaymentCardType153Sub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) +supermod.PaymentCardType153.subclass = PaymentCardType153Sub +# end class PaymentCardType153Sub + + +class CardNumberType154Sub(supermod.CardNumberType154): + def __init__(self, Mask=None, Token=None, TokenProviderID=None, **kwargs_): + super(CardNumberType154Sub, self).__init__(Mask, Token, TokenProviderID, **kwargs_) +supermod.CardNumberType154.subclass = CardNumberType154Sub +# end class CardNumberType154Sub + + +class BankAcctType159Sub(supermod.BankAcctType159): + def __init__(self, BankAcctName=None, BankAcctNumber=None, **kwargs_): + super(BankAcctType159Sub, self).__init__(BankAcctName, BankAcctNumber, **kwargs_) +supermod.BankAcctType159.subclass = BankAcctType159Sub +# end class BankAcctType159Sub + + +class BankAcctNumberType160Sub(supermod.BankAcctNumberType160): + def __init__(self, Mask=None, PlainText=None, **kwargs_): + super(BankAcctNumberType160Sub, self).__init__(Mask, PlainText, **kwargs_) +supermod.BankAcctNumberType160.subclass = BankAcctNumberType160Sub +# end class BankAcctNumberType160Sub + + +class VoucherType162Sub(supermod.VoucherType162): + def __init__(self, ElectronicIndicator=None, Identifier=None, **kwargs_): + super(VoucherType162Sub, self).__init__(ElectronicIndicator, Identifier, **kwargs_) +supermod.VoucherType162.subclass = VoucherType162Sub +# end class VoucherType162Sub + + +class AmountPercentType164Sub(supermod.AmountPercentType164): + def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): + super(AmountPercentType164Sub, self).__init__(Amount, CurrencyCode, **kwargs_) +supermod.AmountPercentType164.subclass = AmountPercentType164Sub +# end class AmountPercentType164Sub + + +class CancelPenaltiesType165Sub(supermod.CancelPenaltiesType165): + def __init__(self, CancelPenalty=None, **kwargs_): + super(CancelPenaltiesType165Sub, self).__init__(CancelPenalty, **kwargs_) +supermod.CancelPenaltiesType165.subclass = CancelPenaltiesType165Sub +# end class CancelPenaltiesType165Sub + + +class CancelPenaltyType166Sub(supermod.CancelPenaltyType166): + def __init__(self, PenaltyDescription=None, **kwargs_): + super(CancelPenaltyType166Sub, self).__init__(PenaltyDescription, **kwargs_) +supermod.CancelPenaltyType166.subclass = CancelPenaltyType166Sub +# end class CancelPenaltyType166Sub + + +class PenaltyDescriptionType167Sub(supermod.PenaltyDescriptionType167): + def __init__(self, Text=None, **kwargs_): + super(PenaltyDescriptionType167Sub, self).__init__(Text, **kwargs_) +supermod.PenaltyDescriptionType167.subclass = PenaltyDescriptionType167Sub +# end class PenaltyDescriptionType167Sub + + +class HotelReservationIDsType168Sub(supermod.HotelReservationIDsType168): + def __init__(self, HotelReservationID=None, **kwargs_): + super(HotelReservationIDsType168Sub, self).__init__(HotelReservationID, **kwargs_) +supermod.HotelReservationIDsType168.subclass = HotelReservationIDsType168Sub +# end class HotelReservationIDsType168Sub + + +class HotelReservationIDType169Sub(supermod.HotelReservationIDType169): + def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, **kwargs_): + super(HotelReservationIDType169Sub, self).__init__(ResID_Type, ResID_Value, ResID_Source, ResID_SourceContext, **kwargs_) +supermod.HotelReservationIDType169.subclass = HotelReservationIDType169Sub +# end class HotelReservationIDType169Sub + + +class ProfilesType170Sub(supermod.ProfilesType170): + def __init__(self, ProfileInfo=None, **kwargs_): + super(ProfilesType170Sub, self).__init__(ProfileInfo, **kwargs_) +supermod.ProfilesType170.subclass = ProfilesType170Sub +# end class ProfilesType170Sub + + +class ProfileInfoType171Sub(supermod.ProfileInfoType171): + def __init__(self, Profile=None, **kwargs_): + super(ProfileInfoType171Sub, self).__init__(Profile, **kwargs_) +supermod.ProfileInfoType171.subclass = ProfileInfoType171Sub +# end class ProfileInfoType171Sub + + +class ProfileType172Sub(supermod.ProfileType172): + def __init__(self, ProfileType=None, CompanyInfo=None, **kwargs_): + super(ProfileType172Sub, self).__init__(ProfileType, CompanyInfo, **kwargs_) +supermod.ProfileType172.subclass = ProfileType172Sub +# end class ProfileType172Sub + + +class CompanyInfoType173Sub(supermod.CompanyInfoType173): + def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, **kwargs_): + super(CompanyInfoType173Sub, self).__init__(CompanyName, AddressInfo, TelephoneInfo, Email, **kwargs_) +supermod.CompanyInfoType173.subclass = CompanyInfoType173Sub +# end class CompanyInfoType173Sub + + +class CompanyNameType174Sub(supermod.CompanyNameType174): + def __init__(self, Code=None, CodeContext=None, valueOf_=None, **kwargs_): + super(CompanyNameType174Sub, self).__init__(Code, CodeContext, valueOf_, **kwargs_) +supermod.CompanyNameType174.subclass = CompanyNameType174Sub +# end class CompanyNameType174Sub + + +class AddressInfoType175Sub(supermod.AddressInfoType175): + def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): + super(AddressInfoType175Sub, self).__init__(AddressLine, CityName, PostalCode, CountryName, **kwargs_) +supermod.AddressInfoType175.subclass = AddressInfoType175Sub +# end class AddressInfoType175Sub + + +class CountryNameType176Sub(supermod.CountryNameType176): + def __init__(self, Code=None, **kwargs_): + super(CountryNameType176Sub, self).__init__(Code, **kwargs_) +supermod.CountryNameType176.subclass = CountryNameType176Sub +# end class CountryNameType176Sub + + +class TelephoneInfoType178Sub(supermod.TelephoneInfoType178): + def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): + super(TelephoneInfoType178Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) +supermod.TelephoneInfoType178.subclass = TelephoneInfoType178Sub +# end class TelephoneInfoType178Sub + + +class BasicPropertyInfoType182Sub(supermod.BasicPropertyInfoType182): + def __init__(self, HotelCode=None, HotelName=None, **kwargs_): + super(BasicPropertyInfoType182Sub, self).__init__(HotelCode, HotelName, **kwargs_) +supermod.BasicPropertyInfoType182.subclass = BasicPropertyInfoType182Sub +# end class BasicPropertyInfoType182Sub + + +class WarningsType184Sub(supermod.WarningsType184): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType184Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType184.subclass = WarningsType184Sub +# end class WarningsType184Sub + + +class WarningType185Sub(supermod.WarningType185): + def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType185Sub, self).__init__(Type, Code, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType185.subclass = WarningType185Sub +# end class WarningType185Sub + + +class NotifDetailsTypeSub(supermod.NotifDetailsType): + def __init__(self, HotelNotifReport=None, **kwargs_): + super(NotifDetailsTypeSub, self).__init__(HotelNotifReport, **kwargs_) +supermod.NotifDetailsType.subclass = NotifDetailsTypeSub +# end class NotifDetailsTypeSub + + +class HotelNotifReportTypeSub(supermod.HotelNotifReportType): + def __init__(self, HotelReservations=None, **kwargs_): + super(HotelNotifReportTypeSub, self).__init__(HotelReservations, **kwargs_) +supermod.HotelNotifReportType.subclass = HotelNotifReportTypeSub +# end class HotelNotifReportTypeSub + + +class HotelReservationsType186Sub(supermod.HotelReservationsType186): + def __init__(self, HotelReservation=None, **kwargs_): + super(HotelReservationsType186Sub, self).__init__(HotelReservation, **kwargs_) +supermod.HotelReservationsType186.subclass = HotelReservationsType186Sub +# end class HotelReservationsType186Sub + + +class HotelReservationType187Sub(supermod.HotelReservationType187): + def __init__(self, UniqueID=None, **kwargs_): + super(HotelReservationType187Sub, self).__init__(UniqueID, **kwargs_) +supermod.HotelReservationType187.subclass = HotelReservationType187Sub +# end class HotelReservationType187Sub + + +class UniqueIDType188Sub(supermod.UniqueIDType188): + def __init__(self, Type=None, ID=None, **kwargs_): + super(UniqueIDType188Sub, self).__init__(Type, ID, **kwargs_) +supermod.UniqueIDType188.subclass = UniqueIDType188Sub +# end class UniqueIDType188Sub + + +class ErrorsType190Sub(supermod.ErrorsType190): + def __init__(self, Error=None, **kwargs_): + super(ErrorsType190Sub, self).__init__(Error, **kwargs_) +supermod.ErrorsType190.subclass = ErrorsType190Sub +# end class ErrorsType190Sub + + +class ErrorType191Sub(supermod.ErrorType191): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorType191Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType191.subclass = ErrorType191Sub +# end class ErrorType191Sub + + +class WarningsType193Sub(supermod.WarningsType193): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType193Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType193.subclass = WarningsType193Sub +# end class WarningsType193Sub + + +class WarningType194Sub(supermod.WarningType194): + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType194Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType194.subclass = WarningType194Sub +# end class WarningType194Sub + + +class HotelDescriptiveContentsTypeSub(supermod.HotelDescriptiveContentsType): + def __init__(self, HotelDescriptiveContent=None, **kwargs_): + super(HotelDescriptiveContentsTypeSub, self).__init__(HotelDescriptiveContent, **kwargs_) +supermod.HotelDescriptiveContentsType.subclass = HotelDescriptiveContentsTypeSub +# end class HotelDescriptiveContentsTypeSub + + +class HotelDescriptiveContentTypeSub(supermod.HotelDescriptiveContentType): + def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, **kwargs_): + super(HotelDescriptiveContentTypeSub, self).__init__(HotelCityCode, HotelCode, HotelName, AreaID, HotelInfo, FacilityInfo, Policies, AffiliationInfo, ContactInfos, **kwargs_) +supermod.HotelDescriptiveContentType.subclass = HotelDescriptiveContentTypeSub +# end class HotelDescriptiveContentTypeSub + + +class HotelInfoTypeSub(supermod.HotelInfoType): + def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, **kwargs_): + super(HotelInfoTypeSub, self).__init__(HotelStatusCode, CategoryCodes, Descriptions, Position, Services, **kwargs_) +supermod.HotelInfoType.subclass = HotelInfoTypeSub +# end class HotelInfoTypeSub + + +class CategoryCodesTypeSub(supermod.CategoryCodesType): + def __init__(self, HotelCategory=None, **kwargs_): + super(CategoryCodesTypeSub, self).__init__(HotelCategory, **kwargs_) +supermod.CategoryCodesType.subclass = CategoryCodesTypeSub +# end class CategoryCodesTypeSub + + +class HotelCategoryTypeSub(supermod.HotelCategoryType): + def __init__(self, Code=None, CodeDetail=None, **kwargs_): + super(HotelCategoryTypeSub, self).__init__(Code, CodeDetail, **kwargs_) +supermod.HotelCategoryType.subclass = HotelCategoryTypeSub +# end class HotelCategoryTypeSub + + +class DescriptionsTypeSub(supermod.DescriptionsType): + def __init__(self, MultimediaDescriptions=None, **kwargs_): + super(DescriptionsTypeSub, self).__init__(MultimediaDescriptions, **kwargs_) +supermod.DescriptionsType.subclass = DescriptionsTypeSub +# end class DescriptionsTypeSub + + +class MultimediaDescriptionsTypeSub(supermod.MultimediaDescriptionsType): + def __init__(self, MultimediaDescription=None, **kwargs_): + super(MultimediaDescriptionsTypeSub, self).__init__(MultimediaDescription, **kwargs_) +supermod.MultimediaDescriptionsType.subclass = MultimediaDescriptionsTypeSub +# end class MultimediaDescriptionsTypeSub + + +class MultimediaDescriptionTypeSub(supermod.MultimediaDescriptionType): + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, **kwargs_): + super(MultimediaDescriptionTypeSub, self).__init__(InfoCode, TextItems, ImageItems, VideoItems, **kwargs_) +supermod.MultimediaDescriptionType.subclass = MultimediaDescriptionTypeSub +# end class MultimediaDescriptionTypeSub + + +class TextItemsTypeSub(supermod.TextItemsType): + def __init__(self, TextItem=None, **kwargs_): + super(TextItemsTypeSub, self).__init__(TextItem, **kwargs_) +supermod.TextItemsType.subclass = TextItemsTypeSub +# end class TextItemsTypeSub + + +class TextItemTypeSub(supermod.TextItemType): + def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, **kwargs_): + super(TextItemTypeSub, self).__init__(SourceID, CopyrightNotice, Description, **kwargs_) +supermod.TextItemType.subclass = TextItemTypeSub +# end class TextItemTypeSub + + +class DescriptionTypeSub(supermod.DescriptionType): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionTypeSub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType.subclass = DescriptionTypeSub +# end class DescriptionTypeSub + + +class ImageItemsTypeSub(supermod.ImageItemsType): + def __init__(self, ImageItem=None, **kwargs_): + super(ImageItemsTypeSub, self).__init__(ImageItem, **kwargs_) +supermod.ImageItemsType.subclass = ImageItemsTypeSub +# end class ImageItemsTypeSub + + +class ImageItemTypeSub(supermod.ImageItemType): + def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): + super(ImageItemTypeSub, self).__init__(Category, ImageFormat, Description, **kwargs_) +supermod.ImageItemType.subclass = ImageItemTypeSub +# end class ImageItemTypeSub + + +class ImageFormatTypeSub(supermod.ImageFormatType): + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, **kwargs_): + super(ImageFormatTypeSub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, ApplicableEnd, URL, **kwargs_) +supermod.ImageFormatType.subclass = ImageFormatTypeSub +# end class ImageFormatTypeSub + + +class DescriptionType197Sub(supermod.DescriptionType197): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType197Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType197.subclass = DescriptionType197Sub +# end class DescriptionType197Sub + + +class VideoItemsTypeSub(supermod.VideoItemsType): + def __init__(self, VideoItem=None, **kwargs_): + super(VideoItemsTypeSub, self).__init__(VideoItem, **kwargs_) +supermod.VideoItemsType.subclass = VideoItemsTypeSub +# end class VideoItemsTypeSub + + +class VideoItemTypeSub(supermod.VideoItemType): + def __init__(self, Category=None, VideoFormat=None, Description=None, **kwargs_): + super(VideoItemTypeSub, self).__init__(Category, VideoFormat, Description, **kwargs_) +supermod.VideoItemType.subclass = VideoItemTypeSub +# end class VideoItemTypeSub + + +class VideoFormatTypeSub(supermod.VideoFormatType): + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, **kwargs_): + super(VideoFormatTypeSub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, URL, **kwargs_) +supermod.VideoFormatType.subclass = VideoFormatTypeSub +# end class VideoFormatTypeSub + + +class DescriptionType202Sub(supermod.DescriptionType202): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType202Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType202.subclass = DescriptionType202Sub +# end class DescriptionType202Sub + + +class PositionTypeSub(supermod.PositionType): + def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, **kwargs_): + super(PositionTypeSub, self).__init__(Altitude, AltitudeUnitOfMeasureCode, Latitude, Longitude, **kwargs_) +supermod.PositionType.subclass = PositionTypeSub +# end class PositionTypeSub + + +class ServicesType206Sub(supermod.ServicesType206): + def __init__(self, Service=None, **kwargs_): + super(ServicesType206Sub, self).__init__(Service, **kwargs_) +supermod.ServicesType206.subclass = ServicesType206Sub +# end class ServicesType206Sub + + +class ServiceType207Sub(supermod.ServiceType207): + def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, **kwargs_): + super(ServiceType207Sub, self).__init__(Code, MealPlanCode, ProximityCode, Included, Features, **kwargs_) +supermod.ServiceType207.subclass = ServiceType207Sub +# end class ServiceType207Sub + + +class FeaturesTypeSub(supermod.FeaturesType): + def __init__(self, Feature=None, **kwargs_): + super(FeaturesTypeSub, self).__init__(Feature, **kwargs_) +supermod.FeaturesType.subclass = FeaturesTypeSub +# end class FeaturesTypeSub + + +class FeatureTypeSub(supermod.FeatureType): + def __init__(self, AccessibleCode=None, **kwargs_): + super(FeatureTypeSub, self).__init__(AccessibleCode, **kwargs_) +supermod.FeatureType.subclass = FeatureTypeSub +# end class FeatureTypeSub + + +class FacilityInfoTypeSub(supermod.FacilityInfoType): + def __init__(self, GuestRooms=None, **kwargs_): + super(FacilityInfoTypeSub, self).__init__(GuestRooms, **kwargs_) +supermod.FacilityInfoType.subclass = FacilityInfoTypeSub +# end class FacilityInfoTypeSub + + +class GuestRoomsTypeSub(supermod.GuestRoomsType): + def __init__(self, GuestRoom=None, **kwargs_): + super(GuestRoomsTypeSub, self).__init__(GuestRoom, **kwargs_) +supermod.GuestRoomsType.subclass = GuestRoomsTypeSub +# end class GuestRoomsTypeSub + + +class GuestRoomTypeSub(supermod.GuestRoomType): + def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, **kwargs_): + super(GuestRoomTypeSub, self).__init__(Code, MaxOccupancy, MinOccupancy, MaxChildOccupancy, ID, TypeRoom, Amenities, MultimediaDescriptions, **kwargs_) +supermod.GuestRoomType.subclass = GuestRoomTypeSub +# end class GuestRoomTypeSub + + +class TypeRoomTypeSub(supermod.TypeRoomType): + def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, **kwargs_): + super(TypeRoomTypeSub, self).__init__(StandardOccupancy, RoomClassificationCode, RoomID, Size, RoomType, **kwargs_) +supermod.TypeRoomType.subclass = TypeRoomTypeSub +# end class TypeRoomTypeSub + + +class AmenitiesTypeSub(supermod.AmenitiesType): + def __init__(self, Amenity=None, **kwargs_): + super(AmenitiesTypeSub, self).__init__(Amenity, **kwargs_) +supermod.AmenitiesType.subclass = AmenitiesTypeSub +# end class AmenitiesTypeSub + + +class AmenityTypeSub(supermod.AmenityType): + def __init__(self, RoomAmenityCode=None, **kwargs_): + super(AmenityTypeSub, self).__init__(RoomAmenityCode, **kwargs_) +supermod.AmenityType.subclass = AmenityTypeSub +# end class AmenityTypeSub + + +class MultimediaDescriptionsType209Sub(supermod.MultimediaDescriptionsType209): + def __init__(self, MultimediaDescription=None, **kwargs_): + super(MultimediaDescriptionsType209Sub, self).__init__(MultimediaDescription, **kwargs_) +supermod.MultimediaDescriptionsType209.subclass = MultimediaDescriptionsType209Sub +# end class MultimediaDescriptionsType209Sub + + +class MultimediaDescriptionType210Sub(supermod.MultimediaDescriptionType210): + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, **kwargs_): + super(MultimediaDescriptionType210Sub, self).__init__(InfoCode, TextItems, ImageItems, **kwargs_) +supermod.MultimediaDescriptionType210.subclass = MultimediaDescriptionType210Sub +# end class MultimediaDescriptionType210Sub + + +class TextItemsType211Sub(supermod.TextItemsType211): + def __init__(self, TextItem=None, **kwargs_): + super(TextItemsType211Sub, self).__init__(TextItem, **kwargs_) +supermod.TextItemsType211.subclass = TextItemsType211Sub +# end class TextItemsType211Sub + + +class TextItemType212Sub(supermod.TextItemType212): + def __init__(self, Description=None, **kwargs_): + super(TextItemType212Sub, self).__init__(Description, **kwargs_) +supermod.TextItemType212.subclass = TextItemType212Sub +# end class TextItemType212Sub + + +class DescriptionType213Sub(supermod.DescriptionType213): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType213Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType213.subclass = DescriptionType213Sub +# end class DescriptionType213Sub + + +class ImageItemsType216Sub(supermod.ImageItemsType216): + def __init__(self, ImageItem=None, **kwargs_): + super(ImageItemsType216Sub, self).__init__(ImageItem, **kwargs_) +supermod.ImageItemsType216.subclass = ImageItemsType216Sub +# end class ImageItemsType216Sub + + +class ImageItemType217Sub(supermod.ImageItemType217): + def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): + super(ImageItemType217Sub, self).__init__(Category, ImageFormat, Description, **kwargs_) +supermod.ImageItemType217.subclass = ImageItemType217Sub +# end class ImageItemType217Sub + + +class ImageFormatType218Sub(supermod.ImageFormatType218): + def __init__(self, CopyrightNotice=None, URL=None, **kwargs_): + super(ImageFormatType218Sub, self).__init__(CopyrightNotice, URL, **kwargs_) +supermod.ImageFormatType218.subclass = ImageFormatType218Sub +# end class ImageFormatType218Sub + + +class DescriptionType219Sub(supermod.DescriptionType219): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType219Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType219.subclass = DescriptionType219Sub +# end class DescriptionType219Sub + + +class PoliciesTypeSub(supermod.PoliciesType): + def __init__(self, Policy=None, **kwargs_): + super(PoliciesTypeSub, self).__init__(Policy, **kwargs_) +supermod.PoliciesType.subclass = PoliciesTypeSub +# end class PoliciesTypeSub + + +class PolicyTypeSub(supermod.PolicyType): + def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, **kwargs_): + super(PolicyTypeSub, self).__init__(CancelPolicy, CheckoutCharges, PetsPolicies, TaxPolicies, GuaranteePaymentPolicy, PolicyInfo, StayRequirements, **kwargs_) +supermod.PolicyType.subclass = PolicyTypeSub +# end class PolicyTypeSub + + +class CancelPolicyTypeSub(supermod.CancelPolicyType): + def __init__(self, CancelPenalty=None, **kwargs_): + super(CancelPolicyTypeSub, self).__init__(CancelPenalty, **kwargs_) +supermod.CancelPolicyType.subclass = CancelPolicyTypeSub +# end class CancelPolicyTypeSub + + +class CancelPenaltyType223Sub(supermod.CancelPenaltyType223): + def __init__(self, PenaltyDescription=None, **kwargs_): + super(CancelPenaltyType223Sub, self).__init__(PenaltyDescription, **kwargs_) +supermod.CancelPenaltyType223.subclass = CancelPenaltyType223Sub +# end class CancelPenaltyType223Sub + + +class PenaltyDescriptionType224Sub(supermod.PenaltyDescriptionType224): + def __init__(self, Text=None, **kwargs_): + super(PenaltyDescriptionType224Sub, self).__init__(Text, **kwargs_) +supermod.PenaltyDescriptionType224.subclass = PenaltyDescriptionType224Sub +# end class PenaltyDescriptionType224Sub + + +class TextType225Sub(supermod.TextType225): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType225Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType225.subclass = TextType225Sub +# end class TextType225Sub + + +class CheckoutChargesTypeSub(supermod.CheckoutChargesType): + def __init__(self, CheckoutCharge=None, **kwargs_): + super(CheckoutChargesTypeSub, self).__init__(CheckoutCharge, **kwargs_) +supermod.CheckoutChargesType.subclass = CheckoutChargesTypeSub +# end class CheckoutChargesTypeSub + + +class CheckoutChargeTypeSub(supermod.CheckoutChargeType): + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): + super(CheckoutChargeTypeSub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Description, **kwargs_) +supermod.CheckoutChargeType.subclass = CheckoutChargeTypeSub +# end class CheckoutChargeTypeSub + + +class DescriptionType228Sub(supermod.DescriptionType228): + def __init__(self, Text=None, **kwargs_): + super(DescriptionType228Sub, self).__init__(Text, **kwargs_) +supermod.DescriptionType228.subclass = DescriptionType228Sub +# end class DescriptionType228Sub + + +class TextType229Sub(supermod.TextType229): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType229Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType229.subclass = TextType229Sub +# end class TextType229Sub + + +class PetsPoliciesTypeSub(supermod.PetsPoliciesType): + def __init__(self, PetsPolicy=None, **kwargs_): + super(PetsPoliciesTypeSub, self).__init__(PetsPolicy, **kwargs_) +supermod.PetsPoliciesType.subclass = PetsPoliciesTypeSub +# end class PetsPoliciesTypeSub + + +class PetsPolicyTypeSub(supermod.PetsPolicyType): + def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): + super(PetsPolicyTypeSub, self).__init__(MaxPetQuantity, NonRefundableFee, ChargeCode, CurrencyCode, DecimalPlaces, Description, **kwargs_) +supermod.PetsPolicyType.subclass = PetsPolicyTypeSub +# end class PetsPolicyTypeSub + + +class DescriptionType232Sub(supermod.DescriptionType232): + def __init__(self, Text=None, **kwargs_): + super(DescriptionType232Sub, self).__init__(Text, **kwargs_) +supermod.DescriptionType232.subclass = DescriptionType232Sub +# end class DescriptionType232Sub + + +class TextType233Sub(supermod.TextType233): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType233Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType233.subclass = TextType233Sub +# end class TextType233Sub + + +class TaxPoliciesTypeSub(supermod.TaxPoliciesType): + def __init__(self, TaxPolicy=None, **kwargs_): + super(TaxPoliciesTypeSub, self).__init__(TaxPolicy, **kwargs_) +supermod.TaxPoliciesType.subclass = TaxPoliciesTypeSub +# end class TaxPoliciesTypeSub + + +class TaxPolicyTypeSub(supermod.TaxPolicyType): + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, **kwargs_): + super(TaxPolicyTypeSub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Code, ChargeFrequency, ChargeUnit, TaxDescription, **kwargs_) +supermod.TaxPolicyType.subclass = TaxPolicyTypeSub +# end class TaxPolicyTypeSub + + +class TaxDescriptionTypeSub(supermod.TaxDescriptionType): + def __init__(self, Text=None, **kwargs_): + super(TaxDescriptionTypeSub, self).__init__(Text, **kwargs_) +supermod.TaxDescriptionType.subclass = TaxDescriptionTypeSub +# end class TaxDescriptionTypeSub + + +class TextType236Sub(supermod.TextType236): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType236Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType236.subclass = TextType236Sub +# end class TextType236Sub + + +class GuaranteePaymentPolicyTypeSub(supermod.GuaranteePaymentPolicyType): + def __init__(self, GuaranteePayment=None, **kwargs_): + super(GuaranteePaymentPolicyTypeSub, self).__init__(GuaranteePayment, **kwargs_) +supermod.GuaranteePaymentPolicyType.subclass = GuaranteePaymentPolicyTypeSub +# end class GuaranteePaymentPolicyTypeSub + + +class GuaranteePaymentType240Sub(supermod.GuaranteePaymentType240): + def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, **kwargs_): + super(GuaranteePaymentType240Sub, self).__init__(AcceptedPayments, AmountPercent, Deadline, **kwargs_) +supermod.GuaranteePaymentType240.subclass = GuaranteePaymentType240Sub +# end class GuaranteePaymentType240Sub + + +class AcceptedPaymentsType241Sub(supermod.AcceptedPaymentsType241): + def __init__(self, AcceptedPayment=None, **kwargs_): + super(AcceptedPaymentsType241Sub, self).__init__(AcceptedPayment, **kwargs_) +supermod.AcceptedPaymentsType241.subclass = AcceptedPaymentsType241Sub +# end class AcceptedPaymentsType241Sub + + +class AcceptedPaymentType242Sub(supermod.AcceptedPaymentType242): + def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, **kwargs_): + super(AcceptedPaymentType242Sub, self).__init__(BankAcct, Cash, PaymentCard, **kwargs_) +supermod.AcceptedPaymentType242.subclass = AcceptedPaymentType242Sub +# end class AcceptedPaymentType242Sub + + +class BankAcctType243Sub(supermod.BankAcctType243): + def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, **kwargs_): + super(BankAcctType243Sub, self).__init__(BankAcctName, BankAcctNumber, BankID, **kwargs_) +supermod.BankAcctType243.subclass = BankAcctType243Sub +# end class BankAcctType243Sub + + +class BankAcctNameTypeSub(supermod.BankAcctNameType): + def __init__(self, valueOf_=None, **kwargs_): + super(BankAcctNameTypeSub, self).__init__(valueOf_, **kwargs_) +supermod.BankAcctNameType.subclass = BankAcctNameTypeSub +# end class BankAcctNameTypeSub + + +class BankAcctNumberType244Sub(supermod.BankAcctNumberType244): + def __init__(self, PlainText=None, **kwargs_): + super(BankAcctNumberType244Sub, self).__init__(PlainText, **kwargs_) +supermod.BankAcctNumberType244.subclass = BankAcctNumberType244Sub +# end class BankAcctNumberType244Sub + + +class PlainTextTypeSub(supermod.PlainTextType): + def __init__(self, valueOf_=None, **kwargs_): + super(PlainTextTypeSub, self).__init__(valueOf_, **kwargs_) +supermod.PlainTextType.subclass = PlainTextTypeSub +# end class PlainTextTypeSub + + +class BankIDTypeSub(supermod.BankIDType): + def __init__(self, PlainText=None, **kwargs_): + super(BankIDTypeSub, self).__init__(PlainText, **kwargs_) +supermod.BankIDType.subclass = BankIDTypeSub +# end class BankIDTypeSub + + +class PlainTextType245Sub(supermod.PlainTextType245): + def __init__(self, valueOf_=None, **kwargs_): + super(PlainTextType245Sub, self).__init__(valueOf_, **kwargs_) +supermod.PlainTextType245.subclass = PlainTextType245Sub +# end class PlainTextType245Sub + + +class CashTypeSub(supermod.CashType): + def __init__(self, CashIndicator=None, **kwargs_): + super(CashTypeSub, self).__init__(CashIndicator, **kwargs_) +supermod.CashType.subclass = CashTypeSub +# end class CashTypeSub + + +class PaymentCardType246Sub(supermod.PaymentCardType246): + def __init__(self, CardCode=None, CardType=None, **kwargs_): + super(PaymentCardType246Sub, self).__init__(CardCode, CardType, **kwargs_) +supermod.PaymentCardType246.subclass = PaymentCardType246Sub +# end class PaymentCardType246Sub + + +class CardTypeTypeSub(supermod.CardTypeType): + def __init__(self, valueOf_=None, **kwargs_): + super(CardTypeTypeSub, self).__init__(valueOf_, **kwargs_) +supermod.CardTypeType.subclass = CardTypeTypeSub +# end class CardTypeTypeSub + + +class AmountPercentType247Sub(supermod.AmountPercentType247): + def __init__(self, Percent=None, **kwargs_): + super(AmountPercentType247Sub, self).__init__(Percent, **kwargs_) +supermod.AmountPercentType247.subclass = AmountPercentType247Sub +# end class AmountPercentType247Sub + + +class DeadlineTypeSub(supermod.DeadlineType): + def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, **kwargs_): + super(DeadlineTypeSub, self).__init__(OffsetDropTime, OffsetTimeUnit, OffsetUnitMultiplier, **kwargs_) +supermod.DeadlineType.subclass = DeadlineTypeSub +# end class DeadlineTypeSub + + +class PolicyInfoTypeSub(supermod.PolicyInfoType): + def __init__(self, MinGuestAge=None, **kwargs_): + super(PolicyInfoTypeSub, self).__init__(MinGuestAge, **kwargs_) +supermod.PolicyInfoType.subclass = PolicyInfoTypeSub +# end class PolicyInfoTypeSub + + +class StayRequirementsTypeSub(supermod.StayRequirementsType): + def __init__(self, StayRequirement=None, **kwargs_): + super(StayRequirementsTypeSub, self).__init__(StayRequirement, **kwargs_) +supermod.StayRequirementsType.subclass = StayRequirementsTypeSub +# end class StayRequirementsTypeSub + + +class StayRequirementTypeSub(supermod.StayRequirementType): + def __init__(self, StayContext=None, Start=None, End=None, **kwargs_): + super(StayRequirementTypeSub, self).__init__(StayContext, Start, End, **kwargs_) +supermod.StayRequirementType.subclass = StayRequirementTypeSub +# end class StayRequirementTypeSub + + +class AffiliationInfoTypeSub(supermod.AffiliationInfoType): + def __init__(self, Awards=None, **kwargs_): + super(AffiliationInfoTypeSub, self).__init__(Awards, **kwargs_) +supermod.AffiliationInfoType.subclass = AffiliationInfoTypeSub +# end class AffiliationInfoTypeSub + + +class AwardsTypeSub(supermod.AwardsType): + def __init__(self, Award=None, **kwargs_): + super(AwardsTypeSub, self).__init__(Award, **kwargs_) +supermod.AwardsType.subclass = AwardsTypeSub +# end class AwardsTypeSub + + +class AwardTypeSub(supermod.AwardType): + def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, **kwargs_): + super(AwardTypeSub, self).__init__(Rating, Provider, RatingSymbol, OfficialAppointmentInd, **kwargs_) +supermod.AwardType.subclass = AwardTypeSub +# end class AwardTypeSub + + +class ContactInfosTypeSub(supermod.ContactInfosType): + def __init__(self, ContactInfo=None, **kwargs_): + super(ContactInfosTypeSub, self).__init__(ContactInfo, **kwargs_) +supermod.ContactInfosType.subclass = ContactInfosTypeSub +# end class ContactInfosTypeSub + + +class ContactInfoTypeSub(supermod.ContactInfoType): + def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, **kwargs_): + super(ContactInfoTypeSub, self).__init__(Location, Addresses, Phones, Emails, URLs, CompanyName, **kwargs_) +supermod.ContactInfoType.subclass = ContactInfoTypeSub +# end class ContactInfoTypeSub + + +class AddressesTypeSub(supermod.AddressesType): + def __init__(self, Address=None, **kwargs_): + super(AddressesTypeSub, self).__init__(Address, **kwargs_) +supermod.AddressesType.subclass = AddressesTypeSub +# end class AddressesTypeSub + + +class AddressType248Sub(supermod.AddressType248): + def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, **kwargs_): + super(AddressType248Sub, self).__init__(Language, AddressLine, CityName, PostalCode, StateProv, CountryName, **kwargs_) +supermod.AddressType248.subclass = AddressType248Sub +# end class AddressType248Sub + + +class StateProvTypeSub(supermod.StateProvType): + def __init__(self, StateCode=None, **kwargs_): + super(StateProvTypeSub, self).__init__(StateCode, **kwargs_) +supermod.StateProvType.subclass = StateProvTypeSub +# end class StateProvTypeSub + + +class CountryNameType249Sub(supermod.CountryNameType249): + def __init__(self, Code=None, **kwargs_): + super(CountryNameType249Sub, self).__init__(Code, **kwargs_) +supermod.CountryNameType249.subclass = CountryNameType249Sub +# end class CountryNameType249Sub + + +class PhonesTypeSub(supermod.PhonesType): + def __init__(self, Phone=None, **kwargs_): + super(PhonesTypeSub, self).__init__(Phone, **kwargs_) +supermod.PhonesType.subclass = PhonesTypeSub +# end class PhonesTypeSub + + +class PhoneTypeSub(supermod.PhoneType): + def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): + super(PhoneTypeSub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) +supermod.PhoneType.subclass = PhoneTypeSub +# end class PhoneTypeSub + + +class EmailsTypeSub(supermod.EmailsType): + def __init__(self, Email=None, **kwargs_): + super(EmailsTypeSub, self).__init__(Email, **kwargs_) +supermod.EmailsType.subclass = EmailsTypeSub +# end class EmailsTypeSub + + +class EmailType253Sub(supermod.EmailType253): + def __init__(self, EmailType=None, valueOf_=None, **kwargs_): + super(EmailType253Sub, self).__init__(EmailType, valueOf_, **kwargs_) +supermod.EmailType253.subclass = EmailType253Sub +# end class EmailType253Sub + + +class URLsTypeSub(supermod.URLsType): + def __init__(self, URL=None, **kwargs_): + super(URLsTypeSub, self).__init__(URL, **kwargs_) +supermod.URLsType.subclass = URLsTypeSub +# end class URLsTypeSub + + +class URLType254Sub(supermod.URLType254): + def __init__(self, ID=None, valueOf_=None, **kwargs_): + super(URLType254Sub, self).__init__(ID, valueOf_, **kwargs_) +supermod.URLType254.subclass = URLType254Sub +# end class URLType254Sub + + +class CompanyNameType255Sub(supermod.CompanyNameType255): + def __init__(self, valueOf_=None, **kwargs_): + super(CompanyNameType255Sub, self).__init__(valueOf_, **kwargs_) +supermod.CompanyNameType255.subclass = CompanyNameType255Sub +# end class CompanyNameType255Sub + + +class ErrorsType257Sub(supermod.ErrorsType257): + def __init__(self, Error=None, **kwargs_): + super(ErrorsType257Sub, self).__init__(Error, **kwargs_) +supermod.ErrorsType257.subclass = ErrorsType257Sub +# end class ErrorsType257Sub + + +class ErrorType258Sub(supermod.ErrorType258): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorType258Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType258.subclass = ErrorType258Sub +# end class ErrorType258Sub + + +class WarningsType260Sub(supermod.WarningsType260): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType260Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType260.subclass = WarningsType260Sub +# end class WarningsType260Sub + + +class WarningType261Sub(supermod.WarningType261): + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType261Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType261.subclass = WarningType261Sub +# end class WarningType261Sub + + +class HotelDescriptiveInfosTypeSub(supermod.HotelDescriptiveInfosType): + def __init__(self, HotelDescriptiveInfo=None, **kwargs_): + super(HotelDescriptiveInfosTypeSub, self).__init__(HotelDescriptiveInfo, **kwargs_) +supermod.HotelDescriptiveInfosType.subclass = HotelDescriptiveInfosTypeSub +# end class HotelDescriptiveInfosTypeSub + + +class HotelDescriptiveInfoTypeSub(supermod.HotelDescriptiveInfoType): + def __init__(self, HotelCode=None, HotelName=None, **kwargs_): + super(HotelDescriptiveInfoTypeSub, self).__init__(HotelCode, HotelName, **kwargs_) +supermod.HotelDescriptiveInfoType.subclass = HotelDescriptiveInfoTypeSub +# end class HotelDescriptiveInfoTypeSub + + +class ErrorsType262Sub(supermod.ErrorsType262): + def __init__(self, Error=None, **kwargs_): + super(ErrorsType262Sub, self).__init__(Error, **kwargs_) +supermod.ErrorsType262.subclass = ErrorsType262Sub +# end class ErrorsType262Sub + + +class ErrorType263Sub(supermod.ErrorType263): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorType263Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType263.subclass = ErrorType263Sub +# end class ErrorType263Sub + + +class WarningsType265Sub(supermod.WarningsType265): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType265Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType265.subclass = WarningsType265Sub +# end class WarningsType265Sub + + +class WarningType266Sub(supermod.WarningType266): + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType266Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType266.subclass = WarningType266Sub +# end class WarningType266Sub + + +class HotelDescriptiveContentsType267Sub(supermod.HotelDescriptiveContentsType267): + def __init__(self, HotelDescriptiveContent=None, **kwargs_): + super(HotelDescriptiveContentsType267Sub, self).__init__(HotelDescriptiveContent, **kwargs_) +supermod.HotelDescriptiveContentsType267.subclass = HotelDescriptiveContentsType267Sub +# end class HotelDescriptiveContentsType267Sub + + +class HotelDescriptiveContentType268Sub(supermod.HotelDescriptiveContentType268): + def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, **kwargs_): + super(HotelDescriptiveContentType268Sub, self).__init__(HotelCityCode, HotelCode, HotelName, AreaID, HotelInfo, FacilityInfo, Policies, AffiliationInfo, ContactInfos, **kwargs_) +supermod.HotelDescriptiveContentType268.subclass = HotelDescriptiveContentType268Sub +# end class HotelDescriptiveContentType268Sub + + +class HotelInfoType269Sub(supermod.HotelInfoType269): + def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, **kwargs_): + super(HotelInfoType269Sub, self).__init__(HotelStatusCode, CategoryCodes, Descriptions, Position, Services, **kwargs_) +supermod.HotelInfoType269.subclass = HotelInfoType269Sub +# end class HotelInfoType269Sub + + +class CategoryCodesType270Sub(supermod.CategoryCodesType270): + def __init__(self, HotelCategory=None, **kwargs_): + super(CategoryCodesType270Sub, self).__init__(HotelCategory, **kwargs_) +supermod.CategoryCodesType270.subclass = CategoryCodesType270Sub +# end class CategoryCodesType270Sub + + +class HotelCategoryType271Sub(supermod.HotelCategoryType271): + def __init__(self, Code=None, CodeDetail=None, **kwargs_): + super(HotelCategoryType271Sub, self).__init__(Code, CodeDetail, **kwargs_) +supermod.HotelCategoryType271.subclass = HotelCategoryType271Sub +# end class HotelCategoryType271Sub + + +class DescriptionsType272Sub(supermod.DescriptionsType272): + def __init__(self, MultimediaDescriptions=None, **kwargs_): + super(DescriptionsType272Sub, self).__init__(MultimediaDescriptions, **kwargs_) +supermod.DescriptionsType272.subclass = DescriptionsType272Sub +# end class DescriptionsType272Sub + + +class MultimediaDescriptionsType273Sub(supermod.MultimediaDescriptionsType273): + def __init__(self, MultimediaDescription=None, **kwargs_): + super(MultimediaDescriptionsType273Sub, self).__init__(MultimediaDescription, **kwargs_) +supermod.MultimediaDescriptionsType273.subclass = MultimediaDescriptionsType273Sub +# end class MultimediaDescriptionsType273Sub + + +class MultimediaDescriptionType274Sub(supermod.MultimediaDescriptionType274): + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, **kwargs_): + super(MultimediaDescriptionType274Sub, self).__init__(InfoCode, TextItems, ImageItems, VideoItems, **kwargs_) +supermod.MultimediaDescriptionType274.subclass = MultimediaDescriptionType274Sub +# end class MultimediaDescriptionType274Sub + + +class TextItemsType275Sub(supermod.TextItemsType275): + def __init__(self, TextItem=None, **kwargs_): + super(TextItemsType275Sub, self).__init__(TextItem, **kwargs_) +supermod.TextItemsType275.subclass = TextItemsType275Sub +# end class TextItemsType275Sub + + +class TextItemType276Sub(supermod.TextItemType276): + def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, **kwargs_): + super(TextItemType276Sub, self).__init__(SourceID, CopyrightNotice, Description, **kwargs_) +supermod.TextItemType276.subclass = TextItemType276Sub +# end class TextItemType276Sub + + +class DescriptionType277Sub(supermod.DescriptionType277): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType277Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType277.subclass = DescriptionType277Sub +# end class DescriptionType277Sub + + +class ImageItemsType280Sub(supermod.ImageItemsType280): + def __init__(self, ImageItem=None, **kwargs_): + super(ImageItemsType280Sub, self).__init__(ImageItem, **kwargs_) +supermod.ImageItemsType280.subclass = ImageItemsType280Sub +# end class ImageItemsType280Sub + + +class ImageItemType281Sub(supermod.ImageItemType281): + def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): + super(ImageItemType281Sub, self).__init__(Category, ImageFormat, Description, **kwargs_) +supermod.ImageItemType281.subclass = ImageItemType281Sub +# end class ImageItemType281Sub + + +class ImageFormatType282Sub(supermod.ImageFormatType282): + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, **kwargs_): + super(ImageFormatType282Sub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, ApplicableEnd, URL, **kwargs_) +supermod.ImageFormatType282.subclass = ImageFormatType282Sub +# end class ImageFormatType282Sub + + +class DescriptionType285Sub(supermod.DescriptionType285): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType285Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType285.subclass = DescriptionType285Sub +# end class DescriptionType285Sub + + +class VideoItemsType289Sub(supermod.VideoItemsType289): + def __init__(self, VideoItem=None, **kwargs_): + super(VideoItemsType289Sub, self).__init__(VideoItem, **kwargs_) +supermod.VideoItemsType289.subclass = VideoItemsType289Sub +# end class VideoItemsType289Sub + + +class VideoItemType290Sub(supermod.VideoItemType290): + def __init__(self, Category=None, VideoFormat=None, Description=None, **kwargs_): + super(VideoItemType290Sub, self).__init__(Category, VideoFormat, Description, **kwargs_) +supermod.VideoItemType290.subclass = VideoItemType290Sub +# end class VideoItemType290Sub + + +class VideoFormatType291Sub(supermod.VideoFormatType291): + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, **kwargs_): + super(VideoFormatType291Sub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, URL, **kwargs_) +supermod.VideoFormatType291.subclass = VideoFormatType291Sub +# end class VideoFormatType291Sub + + +class DescriptionType293Sub(supermod.DescriptionType293): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType293Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType293.subclass = DescriptionType293Sub +# end class DescriptionType293Sub + + +class PositionType298Sub(supermod.PositionType298): + def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, **kwargs_): + super(PositionType298Sub, self).__init__(Altitude, AltitudeUnitOfMeasureCode, Latitude, Longitude, **kwargs_) +supermod.PositionType298.subclass = PositionType298Sub +# end class PositionType298Sub + + +class ServicesType300Sub(supermod.ServicesType300): + def __init__(self, Service=None, **kwargs_): + super(ServicesType300Sub, self).__init__(Service, **kwargs_) +supermod.ServicesType300.subclass = ServicesType300Sub +# end class ServicesType300Sub + + +class ServiceType301Sub(supermod.ServiceType301): + def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, **kwargs_): + super(ServiceType301Sub, self).__init__(Code, MealPlanCode, ProximityCode, Included, Features, **kwargs_) +supermod.ServiceType301.subclass = ServiceType301Sub +# end class ServiceType301Sub + + +class FeaturesType302Sub(supermod.FeaturesType302): + def __init__(self, Feature=None, **kwargs_): + super(FeaturesType302Sub, self).__init__(Feature, **kwargs_) +supermod.FeaturesType302.subclass = FeaturesType302Sub +# end class FeaturesType302Sub + + +class FeatureType303Sub(supermod.FeatureType303): + def __init__(self, AccessibleCode=None, **kwargs_): + super(FeatureType303Sub, self).__init__(AccessibleCode, **kwargs_) +supermod.FeatureType303.subclass = FeatureType303Sub +# end class FeatureType303Sub + + +class FacilityInfoType305Sub(supermod.FacilityInfoType305): + def __init__(self, GuestRooms=None, **kwargs_): + super(FacilityInfoType305Sub, self).__init__(GuestRooms, **kwargs_) +supermod.FacilityInfoType305.subclass = FacilityInfoType305Sub +# end class FacilityInfoType305Sub + + +class GuestRoomsType306Sub(supermod.GuestRoomsType306): + def __init__(self, GuestRoom=None, **kwargs_): + super(GuestRoomsType306Sub, self).__init__(GuestRoom, **kwargs_) +supermod.GuestRoomsType306.subclass = GuestRoomsType306Sub +# end class GuestRoomsType306Sub + + +class GuestRoomType307Sub(supermod.GuestRoomType307): + def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, **kwargs_): + super(GuestRoomType307Sub, self).__init__(Code, MaxOccupancy, MinOccupancy, MaxChildOccupancy, ID, TypeRoom, Amenities, MultimediaDescriptions, **kwargs_) +supermod.GuestRoomType307.subclass = GuestRoomType307Sub +# end class GuestRoomType307Sub + + +class TypeRoomType308Sub(supermod.TypeRoomType308): + def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, **kwargs_): + super(TypeRoomType308Sub, self).__init__(StandardOccupancy, RoomClassificationCode, RoomID, Size, RoomType, **kwargs_) +supermod.TypeRoomType308.subclass = TypeRoomType308Sub +# end class TypeRoomType308Sub + + +class AmenitiesType310Sub(supermod.AmenitiesType310): + def __init__(self, Amenity=None, **kwargs_): + super(AmenitiesType310Sub, self).__init__(Amenity, **kwargs_) +supermod.AmenitiesType310.subclass = AmenitiesType310Sub +# end class AmenitiesType310Sub + + +class AmenityType311Sub(supermod.AmenityType311): + def __init__(self, RoomAmenityCode=None, **kwargs_): + super(AmenityType311Sub, self).__init__(RoomAmenityCode, **kwargs_) +supermod.AmenityType311.subclass = AmenityType311Sub +# end class AmenityType311Sub + + +class MultimediaDescriptionsType312Sub(supermod.MultimediaDescriptionsType312): + def __init__(self, MultimediaDescription=None, **kwargs_): + super(MultimediaDescriptionsType312Sub, self).__init__(MultimediaDescription, **kwargs_) +supermod.MultimediaDescriptionsType312.subclass = MultimediaDescriptionsType312Sub +# end class MultimediaDescriptionsType312Sub + + +class MultimediaDescriptionType313Sub(supermod.MultimediaDescriptionType313): + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, **kwargs_): + super(MultimediaDescriptionType313Sub, self).__init__(InfoCode, TextItems, ImageItems, **kwargs_) +supermod.MultimediaDescriptionType313.subclass = MultimediaDescriptionType313Sub +# end class MultimediaDescriptionType313Sub + + +class TextItemsType314Sub(supermod.TextItemsType314): + def __init__(self, TextItem=None, **kwargs_): + super(TextItemsType314Sub, self).__init__(TextItem, **kwargs_) +supermod.TextItemsType314.subclass = TextItemsType314Sub +# end class TextItemsType314Sub + + +class TextItemType315Sub(supermod.TextItemType315): + def __init__(self, Description=None, **kwargs_): + super(TextItemType315Sub, self).__init__(Description, **kwargs_) +supermod.TextItemType315.subclass = TextItemType315Sub +# end class TextItemType315Sub + + +class DescriptionType316Sub(supermod.DescriptionType316): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType316Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType316.subclass = DescriptionType316Sub +# end class DescriptionType316Sub + + +class ImageItemsType319Sub(supermod.ImageItemsType319): + def __init__(self, ImageItem=None, **kwargs_): + super(ImageItemsType319Sub, self).__init__(ImageItem, **kwargs_) +supermod.ImageItemsType319.subclass = ImageItemsType319Sub +# end class ImageItemsType319Sub + + +class ImageItemType320Sub(supermod.ImageItemType320): + def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): + super(ImageItemType320Sub, self).__init__(Category, ImageFormat, Description, **kwargs_) +supermod.ImageItemType320.subclass = ImageItemType320Sub +# end class ImageItemType320Sub + + +class ImageFormatType321Sub(supermod.ImageFormatType321): + def __init__(self, CopyrightNotice=None, URL=None, **kwargs_): + super(ImageFormatType321Sub, self).__init__(CopyrightNotice, URL, **kwargs_) +supermod.ImageFormatType321.subclass = ImageFormatType321Sub +# end class ImageFormatType321Sub + + +class DescriptionType322Sub(supermod.DescriptionType322): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType322Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType322.subclass = DescriptionType322Sub +# end class DescriptionType322Sub + + +class PoliciesType326Sub(supermod.PoliciesType326): + def __init__(self, Policy=None, **kwargs_): + super(PoliciesType326Sub, self).__init__(Policy, **kwargs_) +supermod.PoliciesType326.subclass = PoliciesType326Sub +# end class PoliciesType326Sub + + +class PolicyType327Sub(supermod.PolicyType327): + def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, **kwargs_): + super(PolicyType327Sub, self).__init__(CancelPolicy, CheckoutCharges, PetsPolicies, TaxPolicies, GuaranteePaymentPolicy, PolicyInfo, StayRequirements, **kwargs_) +supermod.PolicyType327.subclass = PolicyType327Sub +# end class PolicyType327Sub + + +class CancelPolicyType328Sub(supermod.CancelPolicyType328): + def __init__(self, CancelPenalty=None, **kwargs_): + super(CancelPolicyType328Sub, self).__init__(CancelPenalty, **kwargs_) +supermod.CancelPolicyType328.subclass = CancelPolicyType328Sub +# end class CancelPolicyType328Sub + + +class CancelPenaltyType329Sub(supermod.CancelPenaltyType329): + def __init__(self, PenaltyDescription=None, **kwargs_): + super(CancelPenaltyType329Sub, self).__init__(PenaltyDescription, **kwargs_) +supermod.CancelPenaltyType329.subclass = CancelPenaltyType329Sub +# end class CancelPenaltyType329Sub + + +class PenaltyDescriptionType330Sub(supermod.PenaltyDescriptionType330): + def __init__(self, Text=None, **kwargs_): + super(PenaltyDescriptionType330Sub, self).__init__(Text, **kwargs_) +supermod.PenaltyDescriptionType330.subclass = PenaltyDescriptionType330Sub +# end class PenaltyDescriptionType330Sub + + +class TextType331Sub(supermod.TextType331): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType331Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType331.subclass = TextType331Sub +# end class TextType331Sub + + +class CheckoutChargesType334Sub(supermod.CheckoutChargesType334): + def __init__(self, CheckoutCharge=None, **kwargs_): + super(CheckoutChargesType334Sub, self).__init__(CheckoutCharge, **kwargs_) +supermod.CheckoutChargesType334.subclass = CheckoutChargesType334Sub +# end class CheckoutChargesType334Sub + + +class CheckoutChargeType335Sub(supermod.CheckoutChargeType335): + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): + super(CheckoutChargeType335Sub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Description, **kwargs_) +supermod.CheckoutChargeType335.subclass = CheckoutChargeType335Sub +# end class CheckoutChargeType335Sub + + +class DescriptionType336Sub(supermod.DescriptionType336): + def __init__(self, Text=None, **kwargs_): + super(DescriptionType336Sub, self).__init__(Text, **kwargs_) +supermod.DescriptionType336.subclass = DescriptionType336Sub +# end class DescriptionType336Sub + + +class TextType337Sub(supermod.TextType337): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType337Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType337.subclass = TextType337Sub +# end class TextType337Sub + + +class PetsPoliciesType340Sub(supermod.PetsPoliciesType340): + def __init__(self, PetsPolicy=None, **kwargs_): + super(PetsPoliciesType340Sub, self).__init__(PetsPolicy, **kwargs_) +supermod.PetsPoliciesType340.subclass = PetsPoliciesType340Sub +# end class PetsPoliciesType340Sub + + +class PetsPolicyType341Sub(supermod.PetsPolicyType341): + def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): + super(PetsPolicyType341Sub, self).__init__(MaxPetQuantity, NonRefundableFee, ChargeCode, CurrencyCode, DecimalPlaces, Description, **kwargs_) +supermod.PetsPolicyType341.subclass = PetsPolicyType341Sub +# end class PetsPolicyType341Sub + + +class DescriptionType342Sub(supermod.DescriptionType342): + def __init__(self, Text=None, **kwargs_): + super(DescriptionType342Sub, self).__init__(Text, **kwargs_) +supermod.DescriptionType342.subclass = DescriptionType342Sub +# end class DescriptionType342Sub + + +class TextType343Sub(supermod.TextType343): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType343Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType343.subclass = TextType343Sub +# end class TextType343Sub + + +class TaxPoliciesType346Sub(supermod.TaxPoliciesType346): + def __init__(self, TaxPolicy=None, **kwargs_): + super(TaxPoliciesType346Sub, self).__init__(TaxPolicy, **kwargs_) +supermod.TaxPoliciesType346.subclass = TaxPoliciesType346Sub +# end class TaxPoliciesType346Sub + + +class TaxPolicyType347Sub(supermod.TaxPolicyType347): + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, **kwargs_): + super(TaxPolicyType347Sub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Code, ChargeFrequency, ChargeUnit, TaxDescription, **kwargs_) +supermod.TaxPolicyType347.subclass = TaxPolicyType347Sub +# end class TaxPolicyType347Sub + + +class TaxDescriptionType348Sub(supermod.TaxDescriptionType348): + def __init__(self, Text=None, **kwargs_): + super(TaxDescriptionType348Sub, self).__init__(Text, **kwargs_) +supermod.TaxDescriptionType348.subclass = TaxDescriptionType348Sub +# end class TaxDescriptionType348Sub + + +class TextType349Sub(supermod.TextType349): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType349Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType349.subclass = TextType349Sub +# end class TextType349Sub + + +class GuaranteePaymentPolicyType355Sub(supermod.GuaranteePaymentPolicyType355): + def __init__(self, GuaranteePayment=None, **kwargs_): + super(GuaranteePaymentPolicyType355Sub, self).__init__(GuaranteePayment, **kwargs_) +supermod.GuaranteePaymentPolicyType355.subclass = GuaranteePaymentPolicyType355Sub +# end class GuaranteePaymentPolicyType355Sub + + +class GuaranteePaymentType356Sub(supermod.GuaranteePaymentType356): + def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, **kwargs_): + super(GuaranteePaymentType356Sub, self).__init__(AcceptedPayments, AmountPercent, Deadline, **kwargs_) +supermod.GuaranteePaymentType356.subclass = GuaranteePaymentType356Sub +# end class GuaranteePaymentType356Sub + + +class AcceptedPaymentsType357Sub(supermod.AcceptedPaymentsType357): + def __init__(self, AcceptedPayment=None, **kwargs_): + super(AcceptedPaymentsType357Sub, self).__init__(AcceptedPayment, **kwargs_) +supermod.AcceptedPaymentsType357.subclass = AcceptedPaymentsType357Sub +# end class AcceptedPaymentsType357Sub + + +class AcceptedPaymentType358Sub(supermod.AcceptedPaymentType358): + def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, **kwargs_): + super(AcceptedPaymentType358Sub, self).__init__(BankAcct, Cash, PaymentCard, **kwargs_) +supermod.AcceptedPaymentType358.subclass = AcceptedPaymentType358Sub +# end class AcceptedPaymentType358Sub + + +class BankAcctType359Sub(supermod.BankAcctType359): + def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, **kwargs_): + super(BankAcctType359Sub, self).__init__(BankAcctName, BankAcctNumber, BankID, **kwargs_) +supermod.BankAcctType359.subclass = BankAcctType359Sub +# end class BankAcctType359Sub + + +class BankAcctNameType360Sub(supermod.BankAcctNameType360): + def __init__(self, valueOf_=None, **kwargs_): + super(BankAcctNameType360Sub, self).__init__(valueOf_, **kwargs_) +supermod.BankAcctNameType360.subclass = BankAcctNameType360Sub +# end class BankAcctNameType360Sub + + +class BankAcctNumberType361Sub(supermod.BankAcctNumberType361): + def __init__(self, PlainText=None, **kwargs_): + super(BankAcctNumberType361Sub, self).__init__(PlainText, **kwargs_) +supermod.BankAcctNumberType361.subclass = BankAcctNumberType361Sub +# end class BankAcctNumberType361Sub + + +class PlainTextType362Sub(supermod.PlainTextType362): + def __init__(self, valueOf_=None, **kwargs_): + super(PlainTextType362Sub, self).__init__(valueOf_, **kwargs_) +supermod.PlainTextType362.subclass = PlainTextType362Sub +# end class PlainTextType362Sub + + +class BankIDType363Sub(supermod.BankIDType363): + def __init__(self, PlainText=None, **kwargs_): + super(BankIDType363Sub, self).__init__(PlainText, **kwargs_) +supermod.BankIDType363.subclass = BankIDType363Sub +# end class BankIDType363Sub + + +class PlainTextType364Sub(supermod.PlainTextType364): + def __init__(self, valueOf_=None, **kwargs_): + super(PlainTextType364Sub, self).__init__(valueOf_, **kwargs_) +supermod.PlainTextType364.subclass = PlainTextType364Sub +# end class PlainTextType364Sub + + +class CashType365Sub(supermod.CashType365): + def __init__(self, CashIndicator=None, **kwargs_): + super(CashType365Sub, self).__init__(CashIndicator, **kwargs_) +supermod.CashType365.subclass = CashType365Sub +# end class CashType365Sub + + +class PaymentCardType366Sub(supermod.PaymentCardType366): + def __init__(self, CardCode=None, CardType=None, **kwargs_): + super(PaymentCardType366Sub, self).__init__(CardCode, CardType, **kwargs_) +supermod.PaymentCardType366.subclass = PaymentCardType366Sub +# end class PaymentCardType366Sub + + +class CardTypeType367Sub(supermod.CardTypeType367): + def __init__(self, valueOf_=None, **kwargs_): + super(CardTypeType367Sub, self).__init__(valueOf_, **kwargs_) +supermod.CardTypeType367.subclass = CardTypeType367Sub +# end class CardTypeType367Sub + + +class AmountPercentType368Sub(supermod.AmountPercentType368): + def __init__(self, Percent=None, **kwargs_): + super(AmountPercentType368Sub, self).__init__(Percent, **kwargs_) +supermod.AmountPercentType368.subclass = AmountPercentType368Sub +# end class AmountPercentType368Sub + + +class DeadlineType369Sub(supermod.DeadlineType369): + def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, **kwargs_): + super(DeadlineType369Sub, self).__init__(OffsetDropTime, OffsetTimeUnit, OffsetUnitMultiplier, **kwargs_) +supermod.DeadlineType369.subclass = DeadlineType369Sub +# end class DeadlineType369Sub + + +class PolicyInfoType370Sub(supermod.PolicyInfoType370): + def __init__(self, MinGuestAge=None, **kwargs_): + super(PolicyInfoType370Sub, self).__init__(MinGuestAge, **kwargs_) +supermod.PolicyInfoType370.subclass = PolicyInfoType370Sub +# end class PolicyInfoType370Sub + + +class StayRequirementsType371Sub(supermod.StayRequirementsType371): + def __init__(self, StayRequirement=None, **kwargs_): + super(StayRequirementsType371Sub, self).__init__(StayRequirement, **kwargs_) +supermod.StayRequirementsType371.subclass = StayRequirementsType371Sub +# end class StayRequirementsType371Sub + + +class StayRequirementType372Sub(supermod.StayRequirementType372): + def __init__(self, StayContext=None, Start=None, End=None, **kwargs_): + super(StayRequirementType372Sub, self).__init__(StayContext, Start, End, **kwargs_) +supermod.StayRequirementType372.subclass = StayRequirementType372Sub +# end class StayRequirementType372Sub + + +class AffiliationInfoType376Sub(supermod.AffiliationInfoType376): + def __init__(self, Awards=None, **kwargs_): + super(AffiliationInfoType376Sub, self).__init__(Awards, **kwargs_) +supermod.AffiliationInfoType376.subclass = AffiliationInfoType376Sub +# end class AffiliationInfoType376Sub + + +class AwardsType377Sub(supermod.AwardsType377): + def __init__(self, Award=None, **kwargs_): + super(AwardsType377Sub, self).__init__(Award, **kwargs_) +supermod.AwardsType377.subclass = AwardsType377Sub +# end class AwardsType377Sub + + +class AwardType378Sub(supermod.AwardType378): + def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, **kwargs_): + super(AwardType378Sub, self).__init__(Rating, Provider, RatingSymbol, OfficialAppointmentInd, **kwargs_) +supermod.AwardType378.subclass = AwardType378Sub +# end class AwardType378Sub + + +class ContactInfosType379Sub(supermod.ContactInfosType379): + def __init__(self, ContactInfo=None, **kwargs_): + super(ContactInfosType379Sub, self).__init__(ContactInfo, **kwargs_) +supermod.ContactInfosType379.subclass = ContactInfosType379Sub +# end class ContactInfosType379Sub + + +class ContactInfoType380Sub(supermod.ContactInfoType380): + def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, **kwargs_): + super(ContactInfoType380Sub, self).__init__(Location, Addresses, Phones, Emails, URLs, CompanyName, **kwargs_) +supermod.ContactInfoType380.subclass = ContactInfoType380Sub +# end class ContactInfoType380Sub + + +class AddressesType381Sub(supermod.AddressesType381): + def __init__(self, Address=None, **kwargs_): + super(AddressesType381Sub, self).__init__(Address, **kwargs_) +supermod.AddressesType381.subclass = AddressesType381Sub +# end class AddressesType381Sub + + +class AddressType382Sub(supermod.AddressType382): + def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, **kwargs_): + super(AddressType382Sub, self).__init__(Language, AddressLine, CityName, PostalCode, StateProv, CountryName, **kwargs_) +supermod.AddressType382.subclass = AddressType382Sub +# end class AddressType382Sub + + +class StateProvType383Sub(supermod.StateProvType383): + def __init__(self, StateCode=None, **kwargs_): + super(StateProvType383Sub, self).__init__(StateCode, **kwargs_) +supermod.StateProvType383.subclass = StateProvType383Sub +# end class StateProvType383Sub + + +class CountryNameType384Sub(supermod.CountryNameType384): + def __init__(self, Code=None, **kwargs_): + super(CountryNameType384Sub, self).__init__(Code, **kwargs_) +supermod.CountryNameType384.subclass = CountryNameType384Sub +# end class CountryNameType384Sub + + +class PhonesType387Sub(supermod.PhonesType387): + def __init__(self, Phone=None, **kwargs_): + super(PhonesType387Sub, self).__init__(Phone, **kwargs_) +supermod.PhonesType387.subclass = PhonesType387Sub +# end class PhonesType387Sub + + +class PhoneType388Sub(supermod.PhoneType388): + def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): + super(PhoneType388Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) +supermod.PhoneType388.subclass = PhoneType388Sub +# end class PhoneType388Sub + + +class EmailsType390Sub(supermod.EmailsType390): + def __init__(self, Email=None, **kwargs_): + super(EmailsType390Sub, self).__init__(Email, **kwargs_) +supermod.EmailsType390.subclass = EmailsType390Sub +# end class EmailsType390Sub + + +class EmailType391Sub(supermod.EmailType391): + def __init__(self, EmailType=None, valueOf_=None, **kwargs_): + super(EmailType391Sub, self).__init__(EmailType, valueOf_, **kwargs_) +supermod.EmailType391.subclass = EmailType391Sub +# end class EmailType391Sub + + +class URLsType392Sub(supermod.URLsType392): + def __init__(self, URL=None, **kwargs_): + super(URLsType392Sub, self).__init__(URL, **kwargs_) +supermod.URLsType392.subclass = URLsType392Sub +# end class URLsType392Sub + + +class URLType393Sub(supermod.URLType393): + def __init__(self, ID=None, valueOf_=None, **kwargs_): + super(URLType393Sub, self).__init__(ID, valueOf_, **kwargs_) +supermod.URLType393.subclass = URLType393Sub +# end class URLType393Sub + + +class CompanyNameType394Sub(supermod.CompanyNameType394): + def __init__(self, valueOf_=None, **kwargs_): + super(CompanyNameType394Sub, self).__init__(valueOf_, **kwargs_) +supermod.CompanyNameType394.subclass = CompanyNameType394Sub +# end class CompanyNameType394Sub + + +class UniqueIDType396Sub(supermod.UniqueIDType396): + def __init__(self, Type=None, ID=None, Instance=None, **kwargs_): + super(UniqueIDType396Sub, self).__init__(Type, ID, Instance, **kwargs_) +supermod.UniqueIDType396.subclass = UniqueIDType396Sub +# end class UniqueIDType396Sub + + +class RatePlansType399Sub(supermod.RatePlansType399): + def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, **kwargs_): + super(RatePlansType399Sub, self).__init__(HotelCode, HotelName, RatePlan, **kwargs_) +supermod.RatePlansType399.subclass = RatePlansType399Sub +# end class RatePlansType399Sub + + +class RatePlanType400Sub(supermod.RatePlanType400): + def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, **kwargs_): + super(RatePlanType400Sub, self).__init__(Start, End, RatePlanNotifType, CurrencyCode, RatePlanCode, RatePlanType, RatePlanCategory, RatePlanID, RatePlanQualifier, BookingRules, Rates, Supplements, Offers, Description, **kwargs_) +supermod.RatePlanType400.subclass = RatePlanType400Sub +# end class RatePlanType400Sub + + +class BookingRulesTypeSub(supermod.BookingRulesType): + def __init__(self, BookingRule=None, **kwargs_): + super(BookingRulesTypeSub, self).__init__(BookingRule, **kwargs_) +supermod.BookingRulesType.subclass = BookingRulesTypeSub +# end class BookingRulesTypeSub + + +class BookingRuleTypeSub(supermod.BookingRuleType): + def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, **kwargs_): + super(BookingRuleTypeSub, self).__init__(CodeContext, Code, Start, End, LengthsOfStay, DOW_Restrictions, RestrictionStatus, **kwargs_) +supermod.BookingRuleType.subclass = BookingRuleTypeSub +# end class BookingRuleTypeSub + + +class LengthsOfStayTypeSub(supermod.LengthsOfStayType): + def __init__(self, LengthOfStay=None, **kwargs_): + super(LengthsOfStayTypeSub, self).__init__(LengthOfStay, **kwargs_) +supermod.LengthsOfStayType.subclass = LengthsOfStayTypeSub +# end class LengthsOfStayTypeSub + + +class LengthOfStayTypeSub(supermod.LengthOfStayType): + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): + super(LengthOfStayTypeSub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) +supermod.LengthOfStayType.subclass = LengthOfStayTypeSub +# end class LengthOfStayTypeSub + + +class DOW_RestrictionsTypeSub(supermod.DOW_RestrictionsType): + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): + super(DOW_RestrictionsTypeSub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) +supermod.DOW_RestrictionsType.subclass = DOW_RestrictionsTypeSub +# end class DOW_RestrictionsTypeSub + + +class ArrivalDaysOfWeekTypeSub(supermod.ArrivalDaysOfWeekType): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(ArrivalDaysOfWeekTypeSub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.ArrivalDaysOfWeekType.subclass = ArrivalDaysOfWeekTypeSub +# end class ArrivalDaysOfWeekTypeSub + + +class DepartureDaysOfWeekTypeSub(supermod.DepartureDaysOfWeekType): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(DepartureDaysOfWeekTypeSub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.DepartureDaysOfWeekType.subclass = DepartureDaysOfWeekTypeSub +# end class DepartureDaysOfWeekTypeSub + + +class RestrictionStatusTypeSub(supermod.RestrictionStatusType): + def __init__(self, Restriction=None, Status=None, **kwargs_): + super(RestrictionStatusTypeSub, self).__init__(Restriction, Status, **kwargs_) +supermod.RestrictionStatusType.subclass = RestrictionStatusTypeSub +# end class RestrictionStatusTypeSub + + +class RatesType404Sub(supermod.RatesType404): + def __init__(self, Rate=None, **kwargs_): + super(RatesType404Sub, self).__init__(Rate, **kwargs_) +supermod.RatesType404.subclass = RatesType404Sub +# end class RatesType404Sub + + +class RateType405Sub(supermod.RateType405): + def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, **kwargs_): + super(RateType405Sub, self).__init__(MinGuestApplicable, Start, End, RateTimeUnit, UnitMultiplier, Mon, Tue, Weds, Thur, Fri, Sat, Sun, Duration, InvTypeCode, BaseByGuestAmts, AdditionalGuestAmounts, RateDescription, MealsIncluded, **kwargs_) +supermod.RateType405.subclass = RateType405Sub +# end class RateType405Sub + + +class BaseByGuestAmtsTypeSub(supermod.BaseByGuestAmtsType): + def __init__(self, BaseByGuestAmt=None, **kwargs_): + super(BaseByGuestAmtsTypeSub, self).__init__(BaseByGuestAmt, **kwargs_) +supermod.BaseByGuestAmtsType.subclass = BaseByGuestAmtsTypeSub +# end class BaseByGuestAmtsTypeSub + + +class BaseByGuestAmtTypeSub(supermod.BaseByGuestAmtType): + def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, **kwargs_): + super(BaseByGuestAmtTypeSub, self).__init__(NumberOfGuests, AmountAfterTax, CurrencyCode, Type, AgeQualifyingCode, **kwargs_) +supermod.BaseByGuestAmtType.subclass = BaseByGuestAmtTypeSub +# end class BaseByGuestAmtTypeSub + + +class AdditionalGuestAmountsTypeSub(supermod.AdditionalGuestAmountsType): + def __init__(self, AdditionalGuestAmount=None, **kwargs_): + super(AdditionalGuestAmountsTypeSub, self).__init__(AdditionalGuestAmount, **kwargs_) +supermod.AdditionalGuestAmountsType.subclass = AdditionalGuestAmountsTypeSub +# end class AdditionalGuestAmountsTypeSub + + +class AdditionalGuestAmountTypeSub(supermod.AdditionalGuestAmountType): + def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, **kwargs_): + super(AdditionalGuestAmountTypeSub, self).__init__(Amount, AgeQualifyingCode, MinAge, MaxAge, **kwargs_) +supermod.AdditionalGuestAmountType.subclass = AdditionalGuestAmountTypeSub +# end class AdditionalGuestAmountTypeSub + + +class RateDescriptionTypeSub(supermod.RateDescriptionType): + def __init__(self, Name=None, ListItem=None, **kwargs_): + super(RateDescriptionTypeSub, self).__init__(Name, ListItem, **kwargs_) +supermod.RateDescriptionType.subclass = RateDescriptionTypeSub +# end class RateDescriptionTypeSub + + +class ListItemType407Sub(supermod.ListItemType407): + def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): + super(ListItemType407Sub, self).__init__(ListItem, Language, valueOf_, **kwargs_) +supermod.ListItemType407.subclass = ListItemType407Sub +# end class ListItemType407Sub + + +class MealsIncludedType410Sub(supermod.MealsIncludedType410): + def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, **kwargs_): + super(MealsIncludedType410Sub, self).__init__(Breakfast, Lunch, Dinner, MealPlanCodes, MealPlanIndicator, **kwargs_) +supermod.MealsIncludedType410.subclass = MealsIncludedType410Sub +# end class MealsIncludedType410Sub + + +class SupplementsTypeSub(supermod.SupplementsType): + def __init__(self, Supplement=None, **kwargs_): + super(SupplementsTypeSub, self).__init__(Supplement, **kwargs_) +supermod.SupplementsType.subclass = SupplementsTypeSub +# end class SupplementsTypeSub + + +class SupplementTypeSub(supermod.SupplementType): + def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, **kwargs_): + super(SupplementTypeSub, self).__init__(AddToBasicRateIndicator, ChargeTypeCode, Amount, InvType, InvCode, MandatoryIndicator, Start, End, PrerequisiteInventory, Description, **kwargs_) +supermod.SupplementType.subclass = SupplementTypeSub +# end class SupplementTypeSub + + +class PrerequisiteInventoryTypeSub(supermod.PrerequisiteInventoryType): + def __init__(self, InvCode=None, InvType=None, **kwargs_): + super(PrerequisiteInventoryTypeSub, self).__init__(InvCode, InvType, **kwargs_) +supermod.PrerequisiteInventoryType.subclass = PrerequisiteInventoryTypeSub +# end class PrerequisiteInventoryTypeSub + + +class DescriptionType415Sub(supermod.DescriptionType415): + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): + super(DescriptionType415Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) +supermod.DescriptionType415.subclass = DescriptionType415Sub +# end class DescriptionType415Sub + + +class TextType416Sub(supermod.TextType416): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType416Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType416.subclass = TextType416Sub +# end class TextType416Sub + + +class OffersTypeSub(supermod.OffersType): + def __init__(self, Offer=None, **kwargs_): + super(OffersTypeSub, self).__init__(Offer, **kwargs_) +supermod.OffersType.subclass = OffersTypeSub +# end class OffersTypeSub + + +class OfferTypeSub(supermod.OfferType): + def __init__(self, OfferRules=None, Discount=None, Guests=None, **kwargs_): + super(OfferTypeSub, self).__init__(OfferRules, Discount, Guests, **kwargs_) +supermod.OfferType.subclass = OfferTypeSub +# end class OfferTypeSub + + +class OfferRulesTypeSub(supermod.OfferRulesType): + def __init__(self, OfferRule=None, **kwargs_): + super(OfferRulesTypeSub, self).__init__(OfferRule, **kwargs_) +supermod.OfferRulesType.subclass = OfferRulesTypeSub +# end class OfferRulesTypeSub + + +class OfferRuleTypeSub(supermod.OfferRuleType): + def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, **kwargs_): + super(OfferRuleTypeSub, self).__init__(MinAdvancedBookingOffset, MaxAdvancedBookingOffset, LengthsOfStay, DOW_Restrictions, Occupancy, **kwargs_) +supermod.OfferRuleType.subclass = OfferRuleTypeSub +# end class OfferRuleTypeSub + + +class LengthsOfStayType421Sub(supermod.LengthsOfStayType421): + def __init__(self, LengthOfStay=None, **kwargs_): + super(LengthsOfStayType421Sub, self).__init__(LengthOfStay, **kwargs_) +supermod.LengthsOfStayType421.subclass = LengthsOfStayType421Sub +# end class LengthsOfStayType421Sub + + +class LengthOfStayType422Sub(supermod.LengthOfStayType422): + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): + super(LengthOfStayType422Sub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) +supermod.LengthOfStayType422.subclass = LengthOfStayType422Sub +# end class LengthOfStayType422Sub + + +class DOW_RestrictionsType425Sub(supermod.DOW_RestrictionsType425): + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): + super(DOW_RestrictionsType425Sub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) +supermod.DOW_RestrictionsType425.subclass = DOW_RestrictionsType425Sub +# end class DOW_RestrictionsType425Sub + + +class ArrivalDaysOfWeekType426Sub(supermod.ArrivalDaysOfWeekType426): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(ArrivalDaysOfWeekType426Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.ArrivalDaysOfWeekType426.subclass = ArrivalDaysOfWeekType426Sub +# end class ArrivalDaysOfWeekType426Sub + + +class DepartureDaysOfWeekType427Sub(supermod.DepartureDaysOfWeekType427): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(DepartureDaysOfWeekType427Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.DepartureDaysOfWeekType427.subclass = DepartureDaysOfWeekType427Sub +# end class DepartureDaysOfWeekType427Sub + + +class OccupancyTypeSub(supermod.OccupancyType): + def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, **kwargs_): + super(OccupancyTypeSub, self).__init__(AgeQualifyingCode, MinAge, MaxAge, MinOccupancy, MaxOccupancy, **kwargs_) +supermod.OccupancyType.subclass = OccupancyTypeSub +# end class OccupancyTypeSub + + +class DiscountTypeSub(supermod.DiscountType): + def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, **kwargs_): + super(DiscountTypeSub, self).__init__(Percent, NightsRequired, NightsDiscounted, DiscountPattern, **kwargs_) +supermod.DiscountType.subclass = DiscountTypeSub +# end class DiscountTypeSub + + +class GuestsTypeSub(supermod.GuestsType): + def __init__(self, Guest=None, **kwargs_): + super(GuestsTypeSub, self).__init__(Guest, **kwargs_) +supermod.GuestsType.subclass = GuestsTypeSub +# end class GuestsTypeSub + + +class GuestTypeSub(supermod.GuestType): + def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, **kwargs_): + super(GuestTypeSub, self).__init__(AgeQualifyingCode, MaxAge, MinCount, FirstQualifyingPosition, LastQualifyingPosition, **kwargs_) +supermod.GuestType.subclass = GuestTypeSub +# end class GuestTypeSub + + +class DescriptionType428Sub(supermod.DescriptionType428): + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): + super(DescriptionType428Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) +supermod.DescriptionType428.subclass = DescriptionType428Sub +# end class DescriptionType428Sub + + +class TextType429Sub(supermod.TextType429): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType429Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType429.subclass = TextType429Sub +# end class TextType429Sub + + +class ErrorsType433Sub(supermod.ErrorsType433): + def __init__(self, Error=None, **kwargs_): + super(ErrorsType433Sub, self).__init__(Error, **kwargs_) +supermod.ErrorsType433.subclass = ErrorsType433Sub +# end class ErrorsType433Sub + + +class ErrorType434Sub(supermod.ErrorType434): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorType434Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType434.subclass = ErrorType434Sub +# end class ErrorType434Sub + + +class WarningsType436Sub(supermod.WarningsType436): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType436Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType436.subclass = WarningsType436Sub +# end class WarningsType436Sub + + +class WarningType437Sub(supermod.WarningType437): + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType437Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType437.subclass = WarningType437Sub +# end class WarningType437Sub + + +class RatePlansType438Sub(supermod.RatePlansType438): + def __init__(self, RatePlan=None, **kwargs_): + super(RatePlansType438Sub, self).__init__(RatePlan, **kwargs_) +supermod.RatePlansType438.subclass = RatePlansType438Sub +# end class RatePlansType438Sub + + +class RatePlanType439Sub(supermod.RatePlanType439): + def __init__(self, DateRange=None, RatePlanCandidates=None, HotelRef=None, **kwargs_): + super(RatePlanType439Sub, self).__init__(DateRange, RatePlanCandidates, HotelRef, **kwargs_) +supermod.RatePlanType439.subclass = RatePlanType439Sub +# end class RatePlanType439Sub + + +class DateRangeTypeSub(supermod.DateRangeType): + def __init__(self, Start=None, End=None, **kwargs_): + super(DateRangeTypeSub, self).__init__(Start, End, **kwargs_) +supermod.DateRangeType.subclass = DateRangeTypeSub +# end class DateRangeTypeSub + + +class RatePlanCandidatesTypeSub(supermod.RatePlanCandidatesType): + def __init__(self, RatePlanCandidate=None, **kwargs_): + super(RatePlanCandidatesTypeSub, self).__init__(RatePlanCandidate, **kwargs_) +supermod.RatePlanCandidatesType.subclass = RatePlanCandidatesTypeSub +# end class RatePlanCandidatesTypeSub + + +class RatePlanCandidateTypeSub(supermod.RatePlanCandidateType): + def __init__(self, RatePlanCode=None, RatePlanID=None, **kwargs_): + super(RatePlanCandidateTypeSub, self).__init__(RatePlanCode, RatePlanID, **kwargs_) +supermod.RatePlanCandidateType.subclass = RatePlanCandidateTypeSub +# end class RatePlanCandidateTypeSub + + +class HotelRefTypeSub(supermod.HotelRefType): + def __init__(self, HotelCode=None, HotelName=None, **kwargs_): + super(HotelRefTypeSub, self).__init__(HotelCode, HotelName, **kwargs_) +supermod.HotelRefType.subclass = HotelRefTypeSub +# end class HotelRefTypeSub + + +class ErrorsType440Sub(supermod.ErrorsType440): + def __init__(self, Error=None, **kwargs_): + super(ErrorsType440Sub, self).__init__(Error, **kwargs_) +supermod.ErrorsType440.subclass = ErrorsType440Sub +# end class ErrorsType440Sub + + +class ErrorType441Sub(supermod.ErrorType441): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorType441Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType441.subclass = ErrorType441Sub +# end class ErrorType441Sub + + +class WarningsType443Sub(supermod.WarningsType443): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType443Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType443.subclass = WarningsType443Sub +# end class WarningsType443Sub + + +class WarningType444Sub(supermod.WarningType444): + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType444Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType444.subclass = WarningType444Sub +# end class WarningType444Sub + + +class RatePlansType445Sub(supermod.RatePlansType445): + def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, **kwargs_): + super(RatePlansType445Sub, self).__init__(HotelCode, HotelName, RatePlan, **kwargs_) +supermod.RatePlansType445.subclass = RatePlansType445Sub +# end class RatePlansType445Sub + + +class RatePlanType446Sub(supermod.RatePlanType446): + def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, **kwargs_): + super(RatePlanType446Sub, self).__init__(Start, End, RatePlanNotifType, CurrencyCode, RatePlanCode, RatePlanType, RatePlanCategory, RatePlanID, RatePlanQualifier, BookingRules, Rates, Supplements, Offers, Description, **kwargs_) +supermod.RatePlanType446.subclass = RatePlanType446Sub +# end class RatePlanType446Sub + + +class BookingRulesType447Sub(supermod.BookingRulesType447): + def __init__(self, BookingRule=None, **kwargs_): + super(BookingRulesType447Sub, self).__init__(BookingRule, **kwargs_) +supermod.BookingRulesType447.subclass = BookingRulesType447Sub +# end class BookingRulesType447Sub + + +class BookingRuleType448Sub(supermod.BookingRuleType448): + def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, **kwargs_): + super(BookingRuleType448Sub, self).__init__(CodeContext, Code, Start, End, LengthsOfStay, DOW_Restrictions, RestrictionStatus, **kwargs_) +supermod.BookingRuleType448.subclass = BookingRuleType448Sub +# end class BookingRuleType448Sub + + +class LengthsOfStayType449Sub(supermod.LengthsOfStayType449): + def __init__(self, LengthOfStay=None, **kwargs_): + super(LengthsOfStayType449Sub, self).__init__(LengthOfStay, **kwargs_) +supermod.LengthsOfStayType449.subclass = LengthsOfStayType449Sub +# end class LengthsOfStayType449Sub + + +class LengthOfStayType450Sub(supermod.LengthOfStayType450): + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): + super(LengthOfStayType450Sub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) +supermod.LengthOfStayType450.subclass = LengthOfStayType450Sub +# end class LengthOfStayType450Sub + + +class DOW_RestrictionsType453Sub(supermod.DOW_RestrictionsType453): + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): + super(DOW_RestrictionsType453Sub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) +supermod.DOW_RestrictionsType453.subclass = DOW_RestrictionsType453Sub +# end class DOW_RestrictionsType453Sub + + +class ArrivalDaysOfWeekType454Sub(supermod.ArrivalDaysOfWeekType454): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(ArrivalDaysOfWeekType454Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.ArrivalDaysOfWeekType454.subclass = ArrivalDaysOfWeekType454Sub +# end class ArrivalDaysOfWeekType454Sub + + +class DepartureDaysOfWeekType455Sub(supermod.DepartureDaysOfWeekType455): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(DepartureDaysOfWeekType455Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.DepartureDaysOfWeekType455.subclass = DepartureDaysOfWeekType455Sub +# end class DepartureDaysOfWeekType455Sub + + +class RestrictionStatusType456Sub(supermod.RestrictionStatusType456): + def __init__(self, Restriction=None, Status=None, **kwargs_): + super(RestrictionStatusType456Sub, self).__init__(Restriction, Status, **kwargs_) +supermod.RestrictionStatusType456.subclass = RestrictionStatusType456Sub +# end class RestrictionStatusType456Sub + + +class RatesType460Sub(supermod.RatesType460): + def __init__(self, Rate=None, **kwargs_): + super(RatesType460Sub, self).__init__(Rate, **kwargs_) +supermod.RatesType460.subclass = RatesType460Sub +# end class RatesType460Sub + + +class RateType461Sub(supermod.RateType461): + def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, **kwargs_): + super(RateType461Sub, self).__init__(MinGuestApplicable, Start, End, RateTimeUnit, UnitMultiplier, Mon, Tue, Weds, Thur, Fri, Sat, Sun, Duration, InvTypeCode, BaseByGuestAmts, AdditionalGuestAmounts, RateDescription, MealsIncluded, **kwargs_) +supermod.RateType461.subclass = RateType461Sub +# end class RateType461Sub + + +class BaseByGuestAmtsType462Sub(supermod.BaseByGuestAmtsType462): + def __init__(self, BaseByGuestAmt=None, **kwargs_): + super(BaseByGuestAmtsType462Sub, self).__init__(BaseByGuestAmt, **kwargs_) +supermod.BaseByGuestAmtsType462.subclass = BaseByGuestAmtsType462Sub +# end class BaseByGuestAmtsType462Sub + + +class BaseByGuestAmtType463Sub(supermod.BaseByGuestAmtType463): + def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, **kwargs_): + super(BaseByGuestAmtType463Sub, self).__init__(NumberOfGuests, AmountAfterTax, CurrencyCode, Type, AgeQualifyingCode, **kwargs_) +supermod.BaseByGuestAmtType463.subclass = BaseByGuestAmtType463Sub +# end class BaseByGuestAmtType463Sub + + +class AdditionalGuestAmountsType465Sub(supermod.AdditionalGuestAmountsType465): + def __init__(self, AdditionalGuestAmount=None, **kwargs_): + super(AdditionalGuestAmountsType465Sub, self).__init__(AdditionalGuestAmount, **kwargs_) +supermod.AdditionalGuestAmountsType465.subclass = AdditionalGuestAmountsType465Sub +# end class AdditionalGuestAmountsType465Sub + + +class AdditionalGuestAmountType466Sub(supermod.AdditionalGuestAmountType466): + def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, **kwargs_): + super(AdditionalGuestAmountType466Sub, self).__init__(Amount, AgeQualifyingCode, MinAge, MaxAge, **kwargs_) +supermod.AdditionalGuestAmountType466.subclass = AdditionalGuestAmountType466Sub +# end class AdditionalGuestAmountType466Sub + + +class RateDescriptionType467Sub(supermod.RateDescriptionType467): + def __init__(self, Name=None, ListItem=None, **kwargs_): + super(RateDescriptionType467Sub, self).__init__(Name, ListItem, **kwargs_) +supermod.RateDescriptionType467.subclass = RateDescriptionType467Sub +# end class RateDescriptionType467Sub + + +class ListItemType468Sub(supermod.ListItemType468): + def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): + super(ListItemType468Sub, self).__init__(ListItem, Language, valueOf_, **kwargs_) +supermod.ListItemType468.subclass = ListItemType468Sub +# end class ListItemType468Sub + + +class MealsIncludedType471Sub(supermod.MealsIncludedType471): + def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, **kwargs_): + super(MealsIncludedType471Sub, self).__init__(Breakfast, Lunch, Dinner, MealPlanCodes, MealPlanIndicator, **kwargs_) +supermod.MealsIncludedType471.subclass = MealsIncludedType471Sub +# end class MealsIncludedType471Sub + + +class SupplementsType476Sub(supermod.SupplementsType476): + def __init__(self, Supplement=None, **kwargs_): + super(SupplementsType476Sub, self).__init__(Supplement, **kwargs_) +supermod.SupplementsType476.subclass = SupplementsType476Sub +# end class SupplementsType476Sub + + +class SupplementType477Sub(supermod.SupplementType477): + def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, **kwargs_): + super(SupplementType477Sub, self).__init__(AddToBasicRateIndicator, ChargeTypeCode, Amount, InvType, InvCode, MandatoryIndicator, Start, End, PrerequisiteInventory, Description, **kwargs_) +supermod.SupplementType477.subclass = SupplementType477Sub +# end class SupplementType477Sub + + +class PrerequisiteInventoryType478Sub(supermod.PrerequisiteInventoryType478): + def __init__(self, InvCode=None, InvType=None, **kwargs_): + super(PrerequisiteInventoryType478Sub, self).__init__(InvCode, InvType, **kwargs_) +supermod.PrerequisiteInventoryType478.subclass = PrerequisiteInventoryType478Sub +# end class PrerequisiteInventoryType478Sub + + +class DescriptionType480Sub(supermod.DescriptionType480): + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): + super(DescriptionType480Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) +supermod.DescriptionType480.subclass = DescriptionType480Sub +# end class DescriptionType480Sub + + +class TextType481Sub(supermod.TextType481): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType481Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType481.subclass = TextType481Sub +# end class TextType481Sub + + +class OffersType488Sub(supermod.OffersType488): + def __init__(self, Offer=None, **kwargs_): + super(OffersType488Sub, self).__init__(Offer, **kwargs_) +supermod.OffersType488.subclass = OffersType488Sub +# end class OffersType488Sub + + +class OfferType489Sub(supermod.OfferType489): + def __init__(self, OfferRules=None, Discount=None, Guests=None, **kwargs_): + super(OfferType489Sub, self).__init__(OfferRules, Discount, Guests, **kwargs_) +supermod.OfferType489.subclass = OfferType489Sub +# end class OfferType489Sub + + +class OfferRulesType490Sub(supermod.OfferRulesType490): + def __init__(self, OfferRule=None, **kwargs_): + super(OfferRulesType490Sub, self).__init__(OfferRule, **kwargs_) +supermod.OfferRulesType490.subclass = OfferRulesType490Sub +# end class OfferRulesType490Sub + + +class OfferRuleType491Sub(supermod.OfferRuleType491): + def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, **kwargs_): + super(OfferRuleType491Sub, self).__init__(MinAdvancedBookingOffset, MaxAdvancedBookingOffset, LengthsOfStay, DOW_Restrictions, Occupancy, **kwargs_) +supermod.OfferRuleType491.subclass = OfferRuleType491Sub +# end class OfferRuleType491Sub + + +class LengthsOfStayType492Sub(supermod.LengthsOfStayType492): + def __init__(self, LengthOfStay=None, **kwargs_): + super(LengthsOfStayType492Sub, self).__init__(LengthOfStay, **kwargs_) +supermod.LengthsOfStayType492.subclass = LengthsOfStayType492Sub +# end class LengthsOfStayType492Sub + + +class LengthOfStayType493Sub(supermod.LengthOfStayType493): + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): + super(LengthOfStayType493Sub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) +supermod.LengthOfStayType493.subclass = LengthOfStayType493Sub +# end class LengthOfStayType493Sub + + +class DOW_RestrictionsType496Sub(supermod.DOW_RestrictionsType496): + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): + super(DOW_RestrictionsType496Sub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) +supermod.DOW_RestrictionsType496.subclass = DOW_RestrictionsType496Sub +# end class DOW_RestrictionsType496Sub + + +class ArrivalDaysOfWeekType497Sub(supermod.ArrivalDaysOfWeekType497): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(ArrivalDaysOfWeekType497Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.ArrivalDaysOfWeekType497.subclass = ArrivalDaysOfWeekType497Sub +# end class ArrivalDaysOfWeekType497Sub + + +class DepartureDaysOfWeekType498Sub(supermod.DepartureDaysOfWeekType498): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(DepartureDaysOfWeekType498Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.DepartureDaysOfWeekType498.subclass = DepartureDaysOfWeekType498Sub +# end class DepartureDaysOfWeekType498Sub + + +class OccupancyType499Sub(supermod.OccupancyType499): + def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, **kwargs_): + super(OccupancyType499Sub, self).__init__(AgeQualifyingCode, MinAge, MaxAge, MinOccupancy, MaxOccupancy, **kwargs_) +supermod.OccupancyType499.subclass = OccupancyType499Sub +# end class OccupancyType499Sub + + +class DiscountType503Sub(supermod.DiscountType503): + def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, **kwargs_): + super(DiscountType503Sub, self).__init__(Percent, NightsRequired, NightsDiscounted, DiscountPattern, **kwargs_) +supermod.DiscountType503.subclass = DiscountType503Sub +# end class DiscountType503Sub + + +class GuestsType506Sub(supermod.GuestsType506): + def __init__(self, Guest=None, **kwargs_): + super(GuestsType506Sub, self).__init__(Guest, **kwargs_) +supermod.GuestsType506.subclass = GuestsType506Sub +# end class GuestsType506Sub + + +class GuestType507Sub(supermod.GuestType507): + def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, **kwargs_): + super(GuestType507Sub, self).__init__(AgeQualifyingCode, MaxAge, MinCount, FirstQualifyingPosition, LastQualifyingPosition, **kwargs_) +supermod.GuestType507.subclass = GuestType507Sub +# end class GuestType507Sub + + +class DescriptionType509Sub(supermod.DescriptionType509): + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): + super(DescriptionType509Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) +supermod.DescriptionType509.subclass = DescriptionType509Sub +# end class DescriptionType509Sub + + +class TextType510Sub(supermod.TextType510): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType510Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType510.subclass = TextType510Sub +# end class TextType510Sub + + +class HotelReservationType516Sub(supermod.HotelReservationType516): + def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, **kwargs_): + super(HotelReservationType516Sub, self).__init__(CreateDateTime, LastModifyDateTime, ResStatus, RoomStayReservation, UniqueID, RoomStays, Services, ResGuests, ResGlobalInfo, **kwargs_) +supermod.HotelReservationType516.subclass = HotelReservationType516Sub +# end class HotelReservationType516Sub + + +class UniqueIDType517Sub(supermod.UniqueIDType517): + def __init__(self, Type=None, ID=None, **kwargs_): + super(UniqueIDType517Sub, self).__init__(Type, ID, **kwargs_) +supermod.UniqueIDType517.subclass = UniqueIDType517Sub +# end class UniqueIDType517Sub + + +class RoomStaysType519Sub(supermod.RoomStaysType519): + def __init__(self, RoomStay=None, **kwargs_): + super(RoomStaysType519Sub, self).__init__(RoomStay, **kwargs_) +supermod.RoomStaysType519.subclass = RoomStaysType519Sub +# end class RoomStaysType519Sub + + +class RoomStayType520Sub(supermod.RoomStayType520): + def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, **kwargs_): + super(RoomStayType520Sub, self).__init__(RoomStayGroupID, RoomTypes, RatePlans, RoomRates, GuestCounts, TimeSpan, Guarantee, Total, ServiceRPHs, **kwargs_) +supermod.RoomStayType520.subclass = RoomStayType520Sub +# end class RoomStayType520Sub + + +class RoomTypesType521Sub(supermod.RoomTypesType521): + def __init__(self, RoomType=None, **kwargs_): + super(RoomTypesType521Sub, self).__init__(RoomType, **kwargs_) +supermod.RoomTypesType521.subclass = RoomTypesType521Sub +# end class RoomTypesType521Sub + + +class RoomTypeType522Sub(supermod.RoomTypeType522): + def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, **kwargs_): + super(RoomTypeType522Sub, self).__init__(RoomTypeCode, RoomClassificationCode, RoomType, **kwargs_) +supermod.RoomTypeType522.subclass = RoomTypeType522Sub +# end class RoomTypeType522Sub + + +class RatePlansType524Sub(supermod.RatePlansType524): + def __init__(self, RatePlan=None, **kwargs_): + super(RatePlansType524Sub, self).__init__(RatePlan, **kwargs_) +supermod.RatePlansType524.subclass = RatePlansType524Sub +# end class RatePlansType524Sub + + +class RatePlanType525Sub(supermod.RatePlanType525): + def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, **kwargs_): + super(RatePlanType525Sub, self).__init__(RatePlanCode, Commission, MealsIncluded, **kwargs_) +supermod.RatePlanType525.subclass = RatePlanType525Sub +# end class RatePlanType525Sub + + +class CommissionType526Sub(supermod.CommissionType526): + def __init__(self, Percent=None, CommissionPayableAmount=None, **kwargs_): + super(CommissionType526Sub, self).__init__(Percent, CommissionPayableAmount, **kwargs_) +supermod.CommissionType526.subclass = CommissionType526Sub +# end class CommissionType526Sub + + +class CommissionPayableAmountType527Sub(supermod.CommissionPayableAmountType527): + def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): + super(CommissionPayableAmountType527Sub, self).__init__(Amount, CurrencyCode, **kwargs_) +supermod.CommissionPayableAmountType527.subclass = CommissionPayableAmountType527Sub +# end class CommissionPayableAmountType527Sub + + +class MealsIncludedType528Sub(supermod.MealsIncludedType528): + def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, **kwargs_): + super(MealsIncludedType528Sub, self).__init__(MealPlanIndicator, MealPlanCodes, **kwargs_) +supermod.MealsIncludedType528.subclass = MealsIncludedType528Sub +# end class MealsIncludedType528Sub + + +class RoomRatesType531Sub(supermod.RoomRatesType531): + def __init__(self, RoomRate=None, **kwargs_): + super(RoomRatesType531Sub, self).__init__(RoomRate, **kwargs_) +supermod.RoomRatesType531.subclass = RoomRatesType531Sub +# end class RoomRatesType531Sub + + +class RoomRateType532Sub(supermod.RoomRateType532): + def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, **kwargs_): + super(RoomRateType532Sub, self).__init__(RatePlanCode, RoomTypeCode, Rates, **kwargs_) +supermod.RoomRateType532.subclass = RoomRateType532Sub +# end class RoomRateType532Sub + + +class RatesType533Sub(supermod.RatesType533): + def __init__(self, Rate=None, **kwargs_): + super(RatesType533Sub, self).__init__(Rate, **kwargs_) +supermod.RatesType533.subclass = RatesType533Sub +# end class RatesType533Sub + + +class RateType534Sub(supermod.RateType534): + def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, **kwargs_): + super(RateType534Sub, self).__init__(EffectiveDate, ExpireDate, ExpireDateExclusiveInd, RateTimeUnit, UnitMultiplier, Base, **kwargs_) +supermod.RateType534.subclass = RateType534Sub +# end class RateType534Sub + + +class BaseType535Sub(supermod.BaseType535): + def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): + super(BaseType535Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) +supermod.BaseType535.subclass = BaseType535Sub +# end class BaseType535Sub + + +class GuestCountsType537Sub(supermod.GuestCountsType537): + def __init__(self, GuestCount=None, **kwargs_): + super(GuestCountsType537Sub, self).__init__(GuestCount, **kwargs_) +supermod.GuestCountsType537.subclass = GuestCountsType537Sub +# end class GuestCountsType537Sub + + +class GuestCountType538Sub(supermod.GuestCountType538): + def __init__(self, Count=None, Age=None, **kwargs_): + super(GuestCountType538Sub, self).__init__(Count, Age, **kwargs_) +supermod.GuestCountType538.subclass = GuestCountType538Sub +# end class GuestCountType538Sub + + +class TimeSpanType539Sub(supermod.TimeSpanType539): + def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, **kwargs_): + super(TimeSpanType539Sub, self).__init__(Start, End, Duration, StartDateWindow, **kwargs_) +supermod.TimeSpanType539.subclass = TimeSpanType539Sub +# end class TimeSpanType539Sub + + +class StartDateWindowType540Sub(supermod.StartDateWindowType540): + def __init__(self, EarliestDate=None, LatestDate=None, **kwargs_): + super(StartDateWindowType540Sub, self).__init__(EarliestDate, LatestDate, **kwargs_) +supermod.StartDateWindowType540.subclass = StartDateWindowType540Sub +# end class StartDateWindowType540Sub + + +class GuaranteeType542Sub(supermod.GuaranteeType542): + def __init__(self, GuaranteesAccepted=None, **kwargs_): + super(GuaranteeType542Sub, self).__init__(GuaranteesAccepted, **kwargs_) +supermod.GuaranteeType542.subclass = GuaranteeType542Sub +# end class GuaranteeType542Sub + + +class GuaranteesAcceptedType543Sub(supermod.GuaranteesAcceptedType543): + def __init__(self, GuaranteeAccepted=None, **kwargs_): + super(GuaranteesAcceptedType543Sub, self).__init__(GuaranteeAccepted, **kwargs_) +supermod.GuaranteesAcceptedType543.subclass = GuaranteesAcceptedType543Sub +# end class GuaranteesAcceptedType543Sub + + +class GuaranteeAcceptedType544Sub(supermod.GuaranteeAcceptedType544): + def __init__(self, PaymentCard=None, **kwargs_): + super(GuaranteeAcceptedType544Sub, self).__init__(PaymentCard, **kwargs_) +supermod.GuaranteeAcceptedType544.subclass = GuaranteeAcceptedType544Sub +# end class GuaranteeAcceptedType544Sub + + +class PaymentCardType545Sub(supermod.PaymentCardType545): + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): + super(PaymentCardType545Sub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) +supermod.PaymentCardType545.subclass = PaymentCardType545Sub +# end class PaymentCardType545Sub + + +class CardNumberType546Sub(supermod.CardNumberType546): + def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, **kwargs_): + super(CardNumberType546Sub, self).__init__(EncryptedValue, EncryptionMethod, PlainText, **kwargs_) +supermod.CardNumberType546.subclass = CardNumberType546Sub +# end class CardNumberType546Sub + + +class TotalType549Sub(supermod.TotalType549): + def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): + super(TotalType549Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) +supermod.TotalType549.subclass = TotalType549Sub +# end class TotalType549Sub + + +class ServiceRPHsType550Sub(supermod.ServiceRPHsType550): + def __init__(self, ServiceRPH=None, **kwargs_): + super(ServiceRPHsType550Sub, self).__init__(ServiceRPH, **kwargs_) +supermod.ServiceRPHsType550.subclass = ServiceRPHsType550Sub +# end class ServiceRPHsType550Sub + + +class ServiceRPHType551Sub(supermod.ServiceRPHType551): + def __init__(self, RPH=None, **kwargs_): + super(ServiceRPHType551Sub, self).__init__(RPH, **kwargs_) +supermod.ServiceRPHType551.subclass = ServiceRPHType551Sub +# end class ServiceRPHType551Sub + + +class ServicesType553Sub(supermod.ServicesType553): + def __init__(self, Service=None, **kwargs_): + super(ServicesType553Sub, self).__init__(Service, **kwargs_) +supermod.ServicesType553.subclass = ServicesType553Sub +# end class ServicesType553Sub + + +class ServiceType554Sub(supermod.ServiceType554): + def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, **kwargs_): + super(ServiceType554Sub, self).__init__(ID, Type, ServiceCategoryCode, ServiceInventoryCode, ServiceRPH, ServicePricingType, Inclusive, Quantity, ServiceDetails, **kwargs_) +supermod.ServiceType554.subclass = ServiceType554Sub +# end class ServiceType554Sub + + +class ServiceDetailsType555Sub(supermod.ServiceDetailsType555): + def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, **kwargs_): + super(ServiceDetailsType555Sub, self).__init__(GuestCounts, TimeSpan, Comments, Total, ServiceDescription, **kwargs_) +supermod.ServiceDetailsType555.subclass = ServiceDetailsType555Sub +# end class ServiceDetailsType555Sub + + +class GuestCountsType556Sub(supermod.GuestCountsType556): + def __init__(self, GuestCount=None, **kwargs_): + super(GuestCountsType556Sub, self).__init__(GuestCount, **kwargs_) +supermod.GuestCountsType556.subclass = GuestCountsType556Sub +# end class GuestCountsType556Sub + + +class GuestCountType557Sub(supermod.GuestCountType557): + def __init__(self, Age=None, Count=None, **kwargs_): + super(GuestCountType557Sub, self).__init__(Age, Count, **kwargs_) +supermod.GuestCountType557.subclass = GuestCountType557Sub +# end class GuestCountType557Sub + + +class TimeSpanType558Sub(supermod.TimeSpanType558): + def __init__(self, Start=None, End=None, **kwargs_): + super(TimeSpanType558Sub, self).__init__(Start, End, **kwargs_) +supermod.TimeSpanType558.subclass = TimeSpanType558Sub +# end class TimeSpanType558Sub + + +class CommentsType559Sub(supermod.CommentsType559): + def __init__(self, Comment=None, **kwargs_): + super(CommentsType559Sub, self).__init__(Comment, **kwargs_) +supermod.CommentsType559.subclass = CommentsType559Sub +# end class CommentsType559Sub + + +class CommentType560Sub(supermod.CommentType560): + def __init__(self, Text=None, **kwargs_): + super(CommentType560Sub, self).__init__(Text, **kwargs_) +supermod.CommentType560.subclass = CommentType560Sub +# end class CommentType560Sub + + +class TextType561Sub(supermod.TextType561): + def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): + super(TextType561Sub, self).__init__(TextFormat, valueOf_, **kwargs_) +supermod.TextType561.subclass = TextType561Sub +# end class TextType561Sub + + +class TotalType563Sub(supermod.TotalType563): + def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): + super(TotalType563Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) +supermod.TotalType563.subclass = TotalType563Sub +# end class TotalType563Sub + + +class ServiceDescriptionType564Sub(supermod.ServiceDescriptionType564): + def __init__(self, Text=None, **kwargs_): + super(ServiceDescriptionType564Sub, self).__init__(Text, **kwargs_) +supermod.ServiceDescriptionType564.subclass = ServiceDescriptionType564Sub +# end class ServiceDescriptionType564Sub + + +class TextType565Sub(supermod.TextType565): + def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): + super(TextType565Sub, self).__init__(TextFormat, valueOf_, **kwargs_) +supermod.TextType565.subclass = TextType565Sub +# end class TextType565Sub + + +class ResGuestsType571Sub(supermod.ResGuestsType571): + def __init__(self, ResGuest=None, **kwargs_): + super(ResGuestsType571Sub, self).__init__(ResGuest, **kwargs_) +supermod.ResGuestsType571.subclass = ResGuestsType571Sub +# end class ResGuestsType571Sub + + +class ResGuestType572Sub(supermod.ResGuestType572): + def __init__(self, Profiles=None, **kwargs_): + super(ResGuestType572Sub, self).__init__(Profiles, **kwargs_) +supermod.ResGuestType572.subclass = ResGuestType572Sub +# end class ResGuestType572Sub + + +class ProfilesType573Sub(supermod.ProfilesType573): + def __init__(self, ProfileInfo=None, **kwargs_): + super(ProfilesType573Sub, self).__init__(ProfileInfo, **kwargs_) +supermod.ProfilesType573.subclass = ProfilesType573Sub +# end class ProfilesType573Sub + + +class ProfileInfoType574Sub(supermod.ProfileInfoType574): + def __init__(self, Profile=None, **kwargs_): + super(ProfileInfoType574Sub, self).__init__(Profile, **kwargs_) +supermod.ProfileInfoType574.subclass = ProfileInfoType574Sub +# end class ProfileInfoType574Sub + + +class ProfileType575Sub(supermod.ProfileType575): + def __init__(self, Customer=None, **kwargs_): + super(ProfileType575Sub, self).__init__(Customer, **kwargs_) +supermod.ProfileType575.subclass = ProfileType575Sub +# end class ProfileType575Sub + + +class CustomerType576Sub(supermod.CustomerType576): + def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, **kwargs_): + super(CustomerType576Sub, self).__init__(Gender, BirthDate, Language, PersonName, Telephone, Email, Address, **kwargs_) +supermod.CustomerType576.subclass = CustomerType576Sub +# end class CustomerType576Sub + + +class PersonNameType577Sub(supermod.PersonNameType577): + def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, **kwargs_): + super(PersonNameType577Sub, self).__init__(NamePrefix, GivenName, Surname, NameTitle, **kwargs_) +supermod.PersonNameType577.subclass = PersonNameType577Sub +# end class PersonNameType577Sub + + +class TelephoneType578Sub(supermod.TelephoneType578): + def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): + super(TelephoneType578Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) +supermod.TelephoneType578.subclass = TelephoneType578Sub +# end class TelephoneType578Sub + + +class EmailType581Sub(supermod.EmailType581): + def __init__(self, Remark=None, valueOf_=None, **kwargs_): + super(EmailType581Sub, self).__init__(Remark, valueOf_, **kwargs_) +supermod.EmailType581.subclass = EmailType581Sub +# end class EmailType581Sub + + +class AddressType583Sub(supermod.AddressType583): + def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): + super(AddressType583Sub, self).__init__(Remark, AddressLine, CityName, PostalCode, CountryName, **kwargs_) +supermod.AddressType583.subclass = AddressType583Sub +# end class AddressType583Sub + + +class CountryNameType584Sub(supermod.CountryNameType584): + def __init__(self, Code=None, **kwargs_): + super(CountryNameType584Sub, self).__init__(Code, **kwargs_) +supermod.CountryNameType584.subclass = CountryNameType584Sub +# end class CountryNameType584Sub + + +class ResGlobalInfoType589Sub(supermod.ResGlobalInfoType589): + def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, **kwargs_): + super(ResGlobalInfoType589Sub, self).__init__(Comments, SpecialRequests, DepositPayments, CancelPenalties, HotelReservationIDs, Profiles, BasicPropertyInfo, **kwargs_) +supermod.ResGlobalInfoType589.subclass = ResGlobalInfoType589Sub +# end class ResGlobalInfoType589Sub + + +class CommentsType590Sub(supermod.CommentsType590): + def __init__(self, Comment=None, **kwargs_): + super(CommentsType590Sub, self).__init__(Comment, **kwargs_) +supermod.CommentsType590.subclass = CommentsType590Sub +# end class CommentsType590Sub + + +class CommentType591Sub(supermod.CommentType591): + def __init__(self, Name=None, ListItem=None, Text=None, **kwargs_): + super(CommentType591Sub, self).__init__(Name, ListItem, Text, **kwargs_) +supermod.CommentType591.subclass = CommentType591Sub +# end class CommentType591Sub + + +class ListItemType592Sub(supermod.ListItemType592): + def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): + super(ListItemType592Sub, self).__init__(ListItem, Language, valueOf_, **kwargs_) +supermod.ListItemType592.subclass = ListItemType592Sub +# end class ListItemType592Sub + + +class SpecialRequestsType595Sub(supermod.SpecialRequestsType595): + def __init__(self, SpecialRequest=None, **kwargs_): + super(SpecialRequestsType595Sub, self).__init__(SpecialRequest, **kwargs_) +supermod.SpecialRequestsType595.subclass = SpecialRequestsType595Sub +# end class SpecialRequestsType595Sub + + +class SpecialRequestType596Sub(supermod.SpecialRequestType596): + def __init__(self, RequestCode=None, CodeContext=None, Text=None, **kwargs_): + super(SpecialRequestType596Sub, self).__init__(RequestCode, CodeContext, Text, **kwargs_) +supermod.SpecialRequestType596.subclass = SpecialRequestType596Sub +# end class SpecialRequestType596Sub + + +class TextType597Sub(supermod.TextType597): + def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): + super(TextType597Sub, self).__init__(TextFormat, valueOf_, **kwargs_) +supermod.TextType597.subclass = TextType597Sub +# end class TextType597Sub + + +class DepositPaymentsType600Sub(supermod.DepositPaymentsType600): + def __init__(self, GuaranteePayment=None, **kwargs_): + super(DepositPaymentsType600Sub, self).__init__(GuaranteePayment, **kwargs_) +supermod.DepositPaymentsType600.subclass = DepositPaymentsType600Sub +# end class DepositPaymentsType600Sub + + +class GuaranteePaymentType601Sub(supermod.GuaranteePaymentType601): + def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, **kwargs_): + super(GuaranteePaymentType601Sub, self).__init__(Start, GuaranteeCode, AcceptedPayments, AmountPercent, **kwargs_) +supermod.GuaranteePaymentType601.subclass = GuaranteePaymentType601Sub +# end class GuaranteePaymentType601Sub + + +class AcceptedPaymentsType602Sub(supermod.AcceptedPaymentsType602): + def __init__(self, AcceptedPayment=None, **kwargs_): + super(AcceptedPaymentsType602Sub, self).__init__(AcceptedPayment, **kwargs_) +supermod.AcceptedPaymentsType602.subclass = AcceptedPaymentsType602Sub +# end class AcceptedPaymentsType602Sub + + +class AcceptedPaymentType603Sub(supermod.AcceptedPaymentType603): + def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, **kwargs_): + super(AcceptedPaymentType603Sub, self).__init__(GuaranteeTypeCode, GuaranteeID, PaymentTransactionTypeCode, PaymentCard, BankAcct, Voucher, **kwargs_) +supermod.AcceptedPaymentType603.subclass = AcceptedPaymentType603Sub +# end class AcceptedPaymentType603Sub + + +class PaymentCardType604Sub(supermod.PaymentCardType604): + def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): + super(PaymentCardType604Sub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) +supermod.PaymentCardType604.subclass = PaymentCardType604Sub +# end class PaymentCardType604Sub + + +class CardNumberType605Sub(supermod.CardNumberType605): + def __init__(self, Mask=None, Token=None, TokenProviderID=None, **kwargs_): + super(CardNumberType605Sub, self).__init__(Mask, Token, TokenProviderID, **kwargs_) +supermod.CardNumberType605.subclass = CardNumberType605Sub +# end class CardNumberType605Sub + + +class BankAcctType610Sub(supermod.BankAcctType610): + def __init__(self, BankAcctName=None, BankAcctNumber=None, **kwargs_): + super(BankAcctType610Sub, self).__init__(BankAcctName, BankAcctNumber, **kwargs_) +supermod.BankAcctType610.subclass = BankAcctType610Sub +# end class BankAcctType610Sub + + +class BankAcctNumberType611Sub(supermod.BankAcctNumberType611): + def __init__(self, Mask=None, PlainText=None, **kwargs_): + super(BankAcctNumberType611Sub, self).__init__(Mask, PlainText, **kwargs_) +supermod.BankAcctNumberType611.subclass = BankAcctNumberType611Sub +# end class BankAcctNumberType611Sub + + +class VoucherType613Sub(supermod.VoucherType613): + def __init__(self, ElectronicIndicator=None, Identifier=None, **kwargs_): + super(VoucherType613Sub, self).__init__(ElectronicIndicator, Identifier, **kwargs_) +supermod.VoucherType613.subclass = VoucherType613Sub +# end class VoucherType613Sub + + +class AmountPercentType615Sub(supermod.AmountPercentType615): + def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): + super(AmountPercentType615Sub, self).__init__(Amount, CurrencyCode, **kwargs_) +supermod.AmountPercentType615.subclass = AmountPercentType615Sub +# end class AmountPercentType615Sub + + +class CancelPenaltiesType616Sub(supermod.CancelPenaltiesType616): + def __init__(self, CancelPenalty=None, **kwargs_): + super(CancelPenaltiesType616Sub, self).__init__(CancelPenalty, **kwargs_) +supermod.CancelPenaltiesType616.subclass = CancelPenaltiesType616Sub +# end class CancelPenaltiesType616Sub + + +class CancelPenaltyType617Sub(supermod.CancelPenaltyType617): + def __init__(self, PenaltyDescription=None, **kwargs_): + super(CancelPenaltyType617Sub, self).__init__(PenaltyDescription, **kwargs_) +supermod.CancelPenaltyType617.subclass = CancelPenaltyType617Sub +# end class CancelPenaltyType617Sub + + +class PenaltyDescriptionType618Sub(supermod.PenaltyDescriptionType618): + def __init__(self, Text=None, **kwargs_): + super(PenaltyDescriptionType618Sub, self).__init__(Text, **kwargs_) +supermod.PenaltyDescriptionType618.subclass = PenaltyDescriptionType618Sub +# end class PenaltyDescriptionType618Sub + + +class HotelReservationIDsType619Sub(supermod.HotelReservationIDsType619): + def __init__(self, HotelReservationID=None, **kwargs_): + super(HotelReservationIDsType619Sub, self).__init__(HotelReservationID, **kwargs_) +supermod.HotelReservationIDsType619.subclass = HotelReservationIDsType619Sub +# end class HotelReservationIDsType619Sub + + +class HotelReservationIDType620Sub(supermod.HotelReservationIDType620): + def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, **kwargs_): + super(HotelReservationIDType620Sub, self).__init__(ResID_Type, ResID_Value, ResID_Source, ResID_SourceContext, **kwargs_) +supermod.HotelReservationIDType620.subclass = HotelReservationIDType620Sub +# end class HotelReservationIDType620Sub + + +class ProfilesType621Sub(supermod.ProfilesType621): + def __init__(self, ProfileInfo=None, **kwargs_): + super(ProfilesType621Sub, self).__init__(ProfileInfo, **kwargs_) +supermod.ProfilesType621.subclass = ProfilesType621Sub +# end class ProfilesType621Sub + + +class ProfileInfoType622Sub(supermod.ProfileInfoType622): + def __init__(self, Profile=None, **kwargs_): + super(ProfileInfoType622Sub, self).__init__(Profile, **kwargs_) +supermod.ProfileInfoType622.subclass = ProfileInfoType622Sub +# end class ProfileInfoType622Sub + + +class ProfileType623Sub(supermod.ProfileType623): + def __init__(self, ProfileType=None, CompanyInfo=None, **kwargs_): + super(ProfileType623Sub, self).__init__(ProfileType, CompanyInfo, **kwargs_) +supermod.ProfileType623.subclass = ProfileType623Sub +# end class ProfileType623Sub + + +class CompanyInfoType624Sub(supermod.CompanyInfoType624): + def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, **kwargs_): + super(CompanyInfoType624Sub, self).__init__(CompanyName, AddressInfo, TelephoneInfo, Email, **kwargs_) +supermod.CompanyInfoType624.subclass = CompanyInfoType624Sub +# end class CompanyInfoType624Sub + + +class CompanyNameType625Sub(supermod.CompanyNameType625): + def __init__(self, Code=None, CodeContext=None, valueOf_=None, **kwargs_): + super(CompanyNameType625Sub, self).__init__(Code, CodeContext, valueOf_, **kwargs_) +supermod.CompanyNameType625.subclass = CompanyNameType625Sub +# end class CompanyNameType625Sub + + +class AddressInfoType626Sub(supermod.AddressInfoType626): + def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): + super(AddressInfoType626Sub, self).__init__(AddressLine, CityName, PostalCode, CountryName, **kwargs_) +supermod.AddressInfoType626.subclass = AddressInfoType626Sub +# end class AddressInfoType626Sub + + +class CountryNameType627Sub(supermod.CountryNameType627): + def __init__(self, Code=None, **kwargs_): + super(CountryNameType627Sub, self).__init__(Code, **kwargs_) +supermod.CountryNameType627.subclass = CountryNameType627Sub +# end class CountryNameType627Sub + + +class TelephoneInfoType629Sub(supermod.TelephoneInfoType629): + def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): + super(TelephoneInfoType629Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) +supermod.TelephoneInfoType629.subclass = TelephoneInfoType629Sub +# end class TelephoneInfoType629Sub + + +class BasicPropertyInfoType633Sub(supermod.BasicPropertyInfoType633): + def __init__(self, HotelCode=None, HotelName=None, **kwargs_): + super(BasicPropertyInfoType633Sub, self).__init__(HotelCode, HotelName, **kwargs_) +supermod.BasicPropertyInfoType633.subclass = BasicPropertyInfoType633Sub +# end class BasicPropertyInfoType633Sub + + +class HotelDescriptiveContentsType635Sub(supermod.HotelDescriptiveContentsType635): + def __init__(self, HotelDescriptiveContent=None, **kwargs_): + super(HotelDescriptiveContentsType635Sub, self).__init__(HotelDescriptiveContent, **kwargs_) +supermod.HotelDescriptiveContentsType635.subclass = HotelDescriptiveContentsType635Sub +# end class HotelDescriptiveContentsType635Sub + + +class HotelDescriptiveContentType636Sub(supermod.HotelDescriptiveContentType636): + def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, **kwargs_): + super(HotelDescriptiveContentType636Sub, self).__init__(HotelCityCode, HotelCode, HotelName, AreaID, HotelInfo, FacilityInfo, Policies, AffiliationInfo, ContactInfos, **kwargs_) +supermod.HotelDescriptiveContentType636.subclass = HotelDescriptiveContentType636Sub +# end class HotelDescriptiveContentType636Sub + + +class HotelInfoType637Sub(supermod.HotelInfoType637): + def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, **kwargs_): + super(HotelInfoType637Sub, self).__init__(HotelStatusCode, CategoryCodes, Descriptions, Position, Services, **kwargs_) +supermod.HotelInfoType637.subclass = HotelInfoType637Sub +# end class HotelInfoType637Sub + + +class CategoryCodesType638Sub(supermod.CategoryCodesType638): + def __init__(self, HotelCategory=None, **kwargs_): + super(CategoryCodesType638Sub, self).__init__(HotelCategory, **kwargs_) +supermod.CategoryCodesType638.subclass = CategoryCodesType638Sub +# end class CategoryCodesType638Sub + + +class HotelCategoryType639Sub(supermod.HotelCategoryType639): + def __init__(self, Code=None, CodeDetail=None, **kwargs_): + super(HotelCategoryType639Sub, self).__init__(Code, CodeDetail, **kwargs_) +supermod.HotelCategoryType639.subclass = HotelCategoryType639Sub +# end class HotelCategoryType639Sub + + +class DescriptionsType640Sub(supermod.DescriptionsType640): + def __init__(self, MultimediaDescriptions=None, **kwargs_): + super(DescriptionsType640Sub, self).__init__(MultimediaDescriptions, **kwargs_) +supermod.DescriptionsType640.subclass = DescriptionsType640Sub +# end class DescriptionsType640Sub + + +class MultimediaDescriptionsType641Sub(supermod.MultimediaDescriptionsType641): + def __init__(self, MultimediaDescription=None, **kwargs_): + super(MultimediaDescriptionsType641Sub, self).__init__(MultimediaDescription, **kwargs_) +supermod.MultimediaDescriptionsType641.subclass = MultimediaDescriptionsType641Sub +# end class MultimediaDescriptionsType641Sub + + +class MultimediaDescriptionType642Sub(supermod.MultimediaDescriptionType642): + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, **kwargs_): + super(MultimediaDescriptionType642Sub, self).__init__(InfoCode, TextItems, ImageItems, VideoItems, **kwargs_) +supermod.MultimediaDescriptionType642.subclass = MultimediaDescriptionType642Sub +# end class MultimediaDescriptionType642Sub + + +class TextItemsType643Sub(supermod.TextItemsType643): + def __init__(self, TextItem=None, **kwargs_): + super(TextItemsType643Sub, self).__init__(TextItem, **kwargs_) +supermod.TextItemsType643.subclass = TextItemsType643Sub +# end class TextItemsType643Sub + + +class TextItemType644Sub(supermod.TextItemType644): + def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, **kwargs_): + super(TextItemType644Sub, self).__init__(SourceID, CopyrightNotice, Description, **kwargs_) +supermod.TextItemType644.subclass = TextItemType644Sub +# end class TextItemType644Sub + + +class DescriptionType645Sub(supermod.DescriptionType645): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType645Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType645.subclass = DescriptionType645Sub +# end class DescriptionType645Sub + + +class ImageItemsType648Sub(supermod.ImageItemsType648): + def __init__(self, ImageItem=None, **kwargs_): + super(ImageItemsType648Sub, self).__init__(ImageItem, **kwargs_) +supermod.ImageItemsType648.subclass = ImageItemsType648Sub +# end class ImageItemsType648Sub + + +class ImageItemType649Sub(supermod.ImageItemType649): + def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): + super(ImageItemType649Sub, self).__init__(Category, ImageFormat, Description, **kwargs_) +supermod.ImageItemType649.subclass = ImageItemType649Sub +# end class ImageItemType649Sub + + +class ImageFormatType650Sub(supermod.ImageFormatType650): + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, **kwargs_): + super(ImageFormatType650Sub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, ApplicableEnd, URL, **kwargs_) +supermod.ImageFormatType650.subclass = ImageFormatType650Sub +# end class ImageFormatType650Sub + + +class DescriptionType653Sub(supermod.DescriptionType653): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType653Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType653.subclass = DescriptionType653Sub +# end class DescriptionType653Sub + + +class VideoItemsType657Sub(supermod.VideoItemsType657): + def __init__(self, VideoItem=None, **kwargs_): + super(VideoItemsType657Sub, self).__init__(VideoItem, **kwargs_) +supermod.VideoItemsType657.subclass = VideoItemsType657Sub +# end class VideoItemsType657Sub + + +class VideoItemType658Sub(supermod.VideoItemType658): + def __init__(self, Category=None, VideoFormat=None, Description=None, **kwargs_): + super(VideoItemType658Sub, self).__init__(Category, VideoFormat, Description, **kwargs_) +supermod.VideoItemType658.subclass = VideoItemType658Sub +# end class VideoItemType658Sub + + +class VideoFormatType659Sub(supermod.VideoFormatType659): + def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, **kwargs_): + super(VideoFormatType659Sub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, URL, **kwargs_) +supermod.VideoFormatType659.subclass = VideoFormatType659Sub +# end class VideoFormatType659Sub + + +class DescriptionType661Sub(supermod.DescriptionType661): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType661Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType661.subclass = DescriptionType661Sub +# end class DescriptionType661Sub + + +class PositionType666Sub(supermod.PositionType666): + def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, **kwargs_): + super(PositionType666Sub, self).__init__(Altitude, AltitudeUnitOfMeasureCode, Latitude, Longitude, **kwargs_) +supermod.PositionType666.subclass = PositionType666Sub +# end class PositionType666Sub + + +class ServicesType668Sub(supermod.ServicesType668): + def __init__(self, Service=None, **kwargs_): + super(ServicesType668Sub, self).__init__(Service, **kwargs_) +supermod.ServicesType668.subclass = ServicesType668Sub +# end class ServicesType668Sub + + +class ServiceType669Sub(supermod.ServiceType669): + def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, **kwargs_): + super(ServiceType669Sub, self).__init__(Code, MealPlanCode, ProximityCode, Included, Features, **kwargs_) +supermod.ServiceType669.subclass = ServiceType669Sub +# end class ServiceType669Sub + + +class FeaturesType670Sub(supermod.FeaturesType670): + def __init__(self, Feature=None, **kwargs_): + super(FeaturesType670Sub, self).__init__(Feature, **kwargs_) +supermod.FeaturesType670.subclass = FeaturesType670Sub +# end class FeaturesType670Sub + + +class FeatureType671Sub(supermod.FeatureType671): + def __init__(self, AccessibleCode=None, **kwargs_): + super(FeatureType671Sub, self).__init__(AccessibleCode, **kwargs_) +supermod.FeatureType671.subclass = FeatureType671Sub +# end class FeatureType671Sub + + +class FacilityInfoType673Sub(supermod.FacilityInfoType673): + def __init__(self, GuestRooms=None, **kwargs_): + super(FacilityInfoType673Sub, self).__init__(GuestRooms, **kwargs_) +supermod.FacilityInfoType673.subclass = FacilityInfoType673Sub +# end class FacilityInfoType673Sub + + +class GuestRoomsType674Sub(supermod.GuestRoomsType674): + def __init__(self, GuestRoom=None, **kwargs_): + super(GuestRoomsType674Sub, self).__init__(GuestRoom, **kwargs_) +supermod.GuestRoomsType674.subclass = GuestRoomsType674Sub +# end class GuestRoomsType674Sub + + +class GuestRoomType675Sub(supermod.GuestRoomType675): + def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, **kwargs_): + super(GuestRoomType675Sub, self).__init__(Code, MaxOccupancy, MinOccupancy, MaxChildOccupancy, ID, TypeRoom, Amenities, MultimediaDescriptions, **kwargs_) +supermod.GuestRoomType675.subclass = GuestRoomType675Sub +# end class GuestRoomType675Sub + + +class TypeRoomType676Sub(supermod.TypeRoomType676): + def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, **kwargs_): + super(TypeRoomType676Sub, self).__init__(StandardOccupancy, RoomClassificationCode, RoomID, Size, RoomType, **kwargs_) +supermod.TypeRoomType676.subclass = TypeRoomType676Sub +# end class TypeRoomType676Sub + + +class AmenitiesType678Sub(supermod.AmenitiesType678): + def __init__(self, Amenity=None, **kwargs_): + super(AmenitiesType678Sub, self).__init__(Amenity, **kwargs_) +supermod.AmenitiesType678.subclass = AmenitiesType678Sub +# end class AmenitiesType678Sub + + +class AmenityType679Sub(supermod.AmenityType679): + def __init__(self, RoomAmenityCode=None, **kwargs_): + super(AmenityType679Sub, self).__init__(RoomAmenityCode, **kwargs_) +supermod.AmenityType679.subclass = AmenityType679Sub +# end class AmenityType679Sub + + +class MultimediaDescriptionsType680Sub(supermod.MultimediaDescriptionsType680): + def __init__(self, MultimediaDescription=None, **kwargs_): + super(MultimediaDescriptionsType680Sub, self).__init__(MultimediaDescription, **kwargs_) +supermod.MultimediaDescriptionsType680.subclass = MultimediaDescriptionsType680Sub +# end class MultimediaDescriptionsType680Sub + + +class MultimediaDescriptionType681Sub(supermod.MultimediaDescriptionType681): + def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, **kwargs_): + super(MultimediaDescriptionType681Sub, self).__init__(InfoCode, TextItems, ImageItems, **kwargs_) +supermod.MultimediaDescriptionType681.subclass = MultimediaDescriptionType681Sub +# end class MultimediaDescriptionType681Sub + + +class TextItemsType682Sub(supermod.TextItemsType682): + def __init__(self, TextItem=None, **kwargs_): + super(TextItemsType682Sub, self).__init__(TextItem, **kwargs_) +supermod.TextItemsType682.subclass = TextItemsType682Sub +# end class TextItemsType682Sub + + +class TextItemType683Sub(supermod.TextItemType683): + def __init__(self, Description=None, **kwargs_): + super(TextItemType683Sub, self).__init__(Description, **kwargs_) +supermod.TextItemType683.subclass = TextItemType683Sub +# end class TextItemType683Sub + + +class DescriptionType684Sub(supermod.DescriptionType684): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType684Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType684.subclass = DescriptionType684Sub +# end class DescriptionType684Sub + + +class ImageItemsType687Sub(supermod.ImageItemsType687): + def __init__(self, ImageItem=None, **kwargs_): + super(ImageItemsType687Sub, self).__init__(ImageItem, **kwargs_) +supermod.ImageItemsType687.subclass = ImageItemsType687Sub +# end class ImageItemsType687Sub + + +class ImageItemType688Sub(supermod.ImageItemType688): + def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): + super(ImageItemType688Sub, self).__init__(Category, ImageFormat, Description, **kwargs_) +supermod.ImageItemType688.subclass = ImageItemType688Sub +# end class ImageItemType688Sub + + +class ImageFormatType689Sub(supermod.ImageFormatType689): + def __init__(self, CopyrightNotice=None, URL=None, **kwargs_): + super(ImageFormatType689Sub, self).__init__(CopyrightNotice, URL, **kwargs_) +supermod.ImageFormatType689.subclass = ImageFormatType689Sub +# end class ImageFormatType689Sub + + +class DescriptionType690Sub(supermod.DescriptionType690): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(DescriptionType690Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.DescriptionType690.subclass = DescriptionType690Sub +# end class DescriptionType690Sub + + +class PoliciesType694Sub(supermod.PoliciesType694): + def __init__(self, Policy=None, **kwargs_): + super(PoliciesType694Sub, self).__init__(Policy, **kwargs_) +supermod.PoliciesType694.subclass = PoliciesType694Sub +# end class PoliciesType694Sub + + +class PolicyType695Sub(supermod.PolicyType695): + def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, **kwargs_): + super(PolicyType695Sub, self).__init__(CancelPolicy, CheckoutCharges, PetsPolicies, TaxPolicies, GuaranteePaymentPolicy, PolicyInfo, StayRequirements, **kwargs_) +supermod.PolicyType695.subclass = PolicyType695Sub +# end class PolicyType695Sub + + +class CancelPolicyType696Sub(supermod.CancelPolicyType696): + def __init__(self, CancelPenalty=None, **kwargs_): + super(CancelPolicyType696Sub, self).__init__(CancelPenalty, **kwargs_) +supermod.CancelPolicyType696.subclass = CancelPolicyType696Sub +# end class CancelPolicyType696Sub + + +class CancelPenaltyType697Sub(supermod.CancelPenaltyType697): + def __init__(self, PenaltyDescription=None, **kwargs_): + super(CancelPenaltyType697Sub, self).__init__(PenaltyDescription, **kwargs_) +supermod.CancelPenaltyType697.subclass = CancelPenaltyType697Sub +# end class CancelPenaltyType697Sub + + +class PenaltyDescriptionType698Sub(supermod.PenaltyDescriptionType698): + def __init__(self, Text=None, **kwargs_): + super(PenaltyDescriptionType698Sub, self).__init__(Text, **kwargs_) +supermod.PenaltyDescriptionType698.subclass = PenaltyDescriptionType698Sub +# end class PenaltyDescriptionType698Sub + + +class TextType699Sub(supermod.TextType699): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType699Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType699.subclass = TextType699Sub +# end class TextType699Sub + + +class CheckoutChargesType702Sub(supermod.CheckoutChargesType702): + def __init__(self, CheckoutCharge=None, **kwargs_): + super(CheckoutChargesType702Sub, self).__init__(CheckoutCharge, **kwargs_) +supermod.CheckoutChargesType702.subclass = CheckoutChargesType702Sub +# end class CheckoutChargesType702Sub + + +class CheckoutChargeType703Sub(supermod.CheckoutChargeType703): + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): + super(CheckoutChargeType703Sub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Description, **kwargs_) +supermod.CheckoutChargeType703.subclass = CheckoutChargeType703Sub +# end class CheckoutChargeType703Sub + + +class DescriptionType704Sub(supermod.DescriptionType704): + def __init__(self, Text=None, **kwargs_): + super(DescriptionType704Sub, self).__init__(Text, **kwargs_) +supermod.DescriptionType704.subclass = DescriptionType704Sub +# end class DescriptionType704Sub + + +class TextType705Sub(supermod.TextType705): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType705Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType705.subclass = TextType705Sub +# end class TextType705Sub + + +class PetsPoliciesType708Sub(supermod.PetsPoliciesType708): + def __init__(self, PetsPolicy=None, **kwargs_): + super(PetsPoliciesType708Sub, self).__init__(PetsPolicy, **kwargs_) +supermod.PetsPoliciesType708.subclass = PetsPoliciesType708Sub +# end class PetsPoliciesType708Sub + + +class PetsPolicyType709Sub(supermod.PetsPolicyType709): + def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): + super(PetsPolicyType709Sub, self).__init__(MaxPetQuantity, NonRefundableFee, ChargeCode, CurrencyCode, DecimalPlaces, Description, **kwargs_) +supermod.PetsPolicyType709.subclass = PetsPolicyType709Sub +# end class PetsPolicyType709Sub + + +class DescriptionType710Sub(supermod.DescriptionType710): + def __init__(self, Text=None, **kwargs_): + super(DescriptionType710Sub, self).__init__(Text, **kwargs_) +supermod.DescriptionType710.subclass = DescriptionType710Sub +# end class DescriptionType710Sub + + +class TextType711Sub(supermod.TextType711): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType711Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType711.subclass = TextType711Sub +# end class TextType711Sub + + +class TaxPoliciesType714Sub(supermod.TaxPoliciesType714): + def __init__(self, TaxPolicy=None, **kwargs_): + super(TaxPoliciesType714Sub, self).__init__(TaxPolicy, **kwargs_) +supermod.TaxPoliciesType714.subclass = TaxPoliciesType714Sub +# end class TaxPoliciesType714Sub + + +class TaxPolicyType715Sub(supermod.TaxPolicyType715): + def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, **kwargs_): + super(TaxPolicyType715Sub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Code, ChargeFrequency, ChargeUnit, TaxDescription, **kwargs_) +supermod.TaxPolicyType715.subclass = TaxPolicyType715Sub +# end class TaxPolicyType715Sub + + +class TaxDescriptionType716Sub(supermod.TaxDescriptionType716): + def __init__(self, Text=None, **kwargs_): + super(TaxDescriptionType716Sub, self).__init__(Text, **kwargs_) +supermod.TaxDescriptionType716.subclass = TaxDescriptionType716Sub +# end class TaxDescriptionType716Sub + + +class TextType717Sub(supermod.TextType717): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType717Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType717.subclass = TextType717Sub +# end class TextType717Sub + + +class GuaranteePaymentPolicyType723Sub(supermod.GuaranteePaymentPolicyType723): + def __init__(self, GuaranteePayment=None, **kwargs_): + super(GuaranteePaymentPolicyType723Sub, self).__init__(GuaranteePayment, **kwargs_) +supermod.GuaranteePaymentPolicyType723.subclass = GuaranteePaymentPolicyType723Sub +# end class GuaranteePaymentPolicyType723Sub + + +class GuaranteePaymentType724Sub(supermod.GuaranteePaymentType724): + def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, **kwargs_): + super(GuaranteePaymentType724Sub, self).__init__(AcceptedPayments, AmountPercent, Deadline, **kwargs_) +supermod.GuaranteePaymentType724.subclass = GuaranteePaymentType724Sub +# end class GuaranteePaymentType724Sub + + +class AcceptedPaymentsType725Sub(supermod.AcceptedPaymentsType725): + def __init__(self, AcceptedPayment=None, **kwargs_): + super(AcceptedPaymentsType725Sub, self).__init__(AcceptedPayment, **kwargs_) +supermod.AcceptedPaymentsType725.subclass = AcceptedPaymentsType725Sub +# end class AcceptedPaymentsType725Sub + + +class AcceptedPaymentType726Sub(supermod.AcceptedPaymentType726): + def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, **kwargs_): + super(AcceptedPaymentType726Sub, self).__init__(BankAcct, Cash, PaymentCard, **kwargs_) +supermod.AcceptedPaymentType726.subclass = AcceptedPaymentType726Sub +# end class AcceptedPaymentType726Sub + + +class BankAcctType727Sub(supermod.BankAcctType727): + def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, **kwargs_): + super(BankAcctType727Sub, self).__init__(BankAcctName, BankAcctNumber, BankID, **kwargs_) +supermod.BankAcctType727.subclass = BankAcctType727Sub +# end class BankAcctType727Sub + + +class BankAcctNameType728Sub(supermod.BankAcctNameType728): + def __init__(self, valueOf_=None, **kwargs_): + super(BankAcctNameType728Sub, self).__init__(valueOf_, **kwargs_) +supermod.BankAcctNameType728.subclass = BankAcctNameType728Sub +# end class BankAcctNameType728Sub + + +class BankAcctNumberType729Sub(supermod.BankAcctNumberType729): + def __init__(self, PlainText=None, **kwargs_): + super(BankAcctNumberType729Sub, self).__init__(PlainText, **kwargs_) +supermod.BankAcctNumberType729.subclass = BankAcctNumberType729Sub +# end class BankAcctNumberType729Sub + + +class PlainTextType730Sub(supermod.PlainTextType730): + def __init__(self, valueOf_=None, **kwargs_): + super(PlainTextType730Sub, self).__init__(valueOf_, **kwargs_) +supermod.PlainTextType730.subclass = PlainTextType730Sub +# end class PlainTextType730Sub + + +class BankIDType731Sub(supermod.BankIDType731): + def __init__(self, PlainText=None, **kwargs_): + super(BankIDType731Sub, self).__init__(PlainText, **kwargs_) +supermod.BankIDType731.subclass = BankIDType731Sub +# end class BankIDType731Sub + + +class PlainTextType732Sub(supermod.PlainTextType732): + def __init__(self, valueOf_=None, **kwargs_): + super(PlainTextType732Sub, self).__init__(valueOf_, **kwargs_) +supermod.PlainTextType732.subclass = PlainTextType732Sub +# end class PlainTextType732Sub + + +class CashType733Sub(supermod.CashType733): + def __init__(self, CashIndicator=None, **kwargs_): + super(CashType733Sub, self).__init__(CashIndicator, **kwargs_) +supermod.CashType733.subclass = CashType733Sub +# end class CashType733Sub + + +class PaymentCardType734Sub(supermod.PaymentCardType734): + def __init__(self, CardCode=None, CardType=None, **kwargs_): + super(PaymentCardType734Sub, self).__init__(CardCode, CardType, **kwargs_) +supermod.PaymentCardType734.subclass = PaymentCardType734Sub +# end class PaymentCardType734Sub + + +class CardTypeType735Sub(supermod.CardTypeType735): + def __init__(self, valueOf_=None, **kwargs_): + super(CardTypeType735Sub, self).__init__(valueOf_, **kwargs_) +supermod.CardTypeType735.subclass = CardTypeType735Sub +# end class CardTypeType735Sub + + +class AmountPercentType736Sub(supermod.AmountPercentType736): + def __init__(self, Percent=None, **kwargs_): + super(AmountPercentType736Sub, self).__init__(Percent, **kwargs_) +supermod.AmountPercentType736.subclass = AmountPercentType736Sub +# end class AmountPercentType736Sub + + +class DeadlineType737Sub(supermod.DeadlineType737): + def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, **kwargs_): + super(DeadlineType737Sub, self).__init__(OffsetDropTime, OffsetTimeUnit, OffsetUnitMultiplier, **kwargs_) +supermod.DeadlineType737.subclass = DeadlineType737Sub +# end class DeadlineType737Sub + + +class PolicyInfoType738Sub(supermod.PolicyInfoType738): + def __init__(self, MinGuestAge=None, **kwargs_): + super(PolicyInfoType738Sub, self).__init__(MinGuestAge, **kwargs_) +supermod.PolicyInfoType738.subclass = PolicyInfoType738Sub +# end class PolicyInfoType738Sub + + +class StayRequirementsType739Sub(supermod.StayRequirementsType739): + def __init__(self, StayRequirement=None, **kwargs_): + super(StayRequirementsType739Sub, self).__init__(StayRequirement, **kwargs_) +supermod.StayRequirementsType739.subclass = StayRequirementsType739Sub +# end class StayRequirementsType739Sub + + +class StayRequirementType740Sub(supermod.StayRequirementType740): + def __init__(self, StayContext=None, Start=None, End=None, **kwargs_): + super(StayRequirementType740Sub, self).__init__(StayContext, Start, End, **kwargs_) +supermod.StayRequirementType740.subclass = StayRequirementType740Sub +# end class StayRequirementType740Sub + + +class AffiliationInfoType744Sub(supermod.AffiliationInfoType744): + def __init__(self, Awards=None, **kwargs_): + super(AffiliationInfoType744Sub, self).__init__(Awards, **kwargs_) +supermod.AffiliationInfoType744.subclass = AffiliationInfoType744Sub +# end class AffiliationInfoType744Sub + + +class AwardsType745Sub(supermod.AwardsType745): + def __init__(self, Award=None, **kwargs_): + super(AwardsType745Sub, self).__init__(Award, **kwargs_) +supermod.AwardsType745.subclass = AwardsType745Sub +# end class AwardsType745Sub + + +class AwardType746Sub(supermod.AwardType746): + def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, **kwargs_): + super(AwardType746Sub, self).__init__(Rating, Provider, RatingSymbol, OfficialAppointmentInd, **kwargs_) +supermod.AwardType746.subclass = AwardType746Sub +# end class AwardType746Sub + + +class ContactInfosType747Sub(supermod.ContactInfosType747): + def __init__(self, ContactInfo=None, **kwargs_): + super(ContactInfosType747Sub, self).__init__(ContactInfo, **kwargs_) +supermod.ContactInfosType747.subclass = ContactInfosType747Sub +# end class ContactInfosType747Sub + + +class ContactInfoType748Sub(supermod.ContactInfoType748): + def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, **kwargs_): + super(ContactInfoType748Sub, self).__init__(Location, Addresses, Phones, Emails, URLs, CompanyName, **kwargs_) +supermod.ContactInfoType748.subclass = ContactInfoType748Sub +# end class ContactInfoType748Sub + + +class AddressesType749Sub(supermod.AddressesType749): + def __init__(self, Address=None, **kwargs_): + super(AddressesType749Sub, self).__init__(Address, **kwargs_) +supermod.AddressesType749.subclass = AddressesType749Sub +# end class AddressesType749Sub + + +class AddressType750Sub(supermod.AddressType750): + def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, **kwargs_): + super(AddressType750Sub, self).__init__(Language, AddressLine, CityName, PostalCode, StateProv, CountryName, **kwargs_) +supermod.AddressType750.subclass = AddressType750Sub +# end class AddressType750Sub + + +class StateProvType751Sub(supermod.StateProvType751): + def __init__(self, StateCode=None, **kwargs_): + super(StateProvType751Sub, self).__init__(StateCode, **kwargs_) +supermod.StateProvType751.subclass = StateProvType751Sub +# end class StateProvType751Sub + + +class CountryNameType752Sub(supermod.CountryNameType752): + def __init__(self, Code=None, **kwargs_): + super(CountryNameType752Sub, self).__init__(Code, **kwargs_) +supermod.CountryNameType752.subclass = CountryNameType752Sub +# end class CountryNameType752Sub + + +class PhonesType755Sub(supermod.PhonesType755): + def __init__(self, Phone=None, **kwargs_): + super(PhonesType755Sub, self).__init__(Phone, **kwargs_) +supermod.PhonesType755.subclass = PhonesType755Sub +# end class PhonesType755Sub + + +class PhoneType756Sub(supermod.PhoneType756): + def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): + super(PhoneType756Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) +supermod.PhoneType756.subclass = PhoneType756Sub +# end class PhoneType756Sub + + +class EmailsType758Sub(supermod.EmailsType758): + def __init__(self, Email=None, **kwargs_): + super(EmailsType758Sub, self).__init__(Email, **kwargs_) +supermod.EmailsType758.subclass = EmailsType758Sub +# end class EmailsType758Sub + + +class EmailType759Sub(supermod.EmailType759): + def __init__(self, EmailType=None, valueOf_=None, **kwargs_): + super(EmailType759Sub, self).__init__(EmailType, valueOf_, **kwargs_) +supermod.EmailType759.subclass = EmailType759Sub +# end class EmailType759Sub + + +class URLsType760Sub(supermod.URLsType760): + def __init__(self, URL=None, **kwargs_): + super(URLsType760Sub, self).__init__(URL, **kwargs_) +supermod.URLsType760.subclass = URLsType760Sub +# end class URLsType760Sub + + +class URLType761Sub(supermod.URLType761): + def __init__(self, ID=None, valueOf_=None, **kwargs_): + super(URLType761Sub, self).__init__(ID, valueOf_, **kwargs_) +supermod.URLType761.subclass = URLType761Sub +# end class URLType761Sub + + +class CompanyNameType762Sub(supermod.CompanyNameType762): + def __init__(self, valueOf_=None, **kwargs_): + super(CompanyNameType762Sub, self).__init__(valueOf_, **kwargs_) +supermod.CompanyNameType762.subclass = CompanyNameType762Sub +# end class CompanyNameType762Sub + + +class RatePlansType764Sub(supermod.RatePlansType764): + def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, **kwargs_): + super(RatePlansType764Sub, self).__init__(HotelCode, HotelName, RatePlan, **kwargs_) +supermod.RatePlansType764.subclass = RatePlansType764Sub +# end class RatePlansType764Sub + + +class RatePlanType765Sub(supermod.RatePlanType765): + def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, **kwargs_): + super(RatePlanType765Sub, self).__init__(Start, End, RatePlanNotifType, CurrencyCode, RatePlanCode, RatePlanType, RatePlanCategory, RatePlanID, RatePlanQualifier, BookingRules, Rates, Supplements, Offers, Description, **kwargs_) +supermod.RatePlanType765.subclass = RatePlanType765Sub +# end class RatePlanType765Sub + + +class BookingRulesType766Sub(supermod.BookingRulesType766): + def __init__(self, BookingRule=None, **kwargs_): + super(BookingRulesType766Sub, self).__init__(BookingRule, **kwargs_) +supermod.BookingRulesType766.subclass = BookingRulesType766Sub +# end class BookingRulesType766Sub + + +class BookingRuleType767Sub(supermod.BookingRuleType767): + def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, **kwargs_): + super(BookingRuleType767Sub, self).__init__(CodeContext, Code, Start, End, LengthsOfStay, DOW_Restrictions, RestrictionStatus, **kwargs_) +supermod.BookingRuleType767.subclass = BookingRuleType767Sub +# end class BookingRuleType767Sub + + +class LengthsOfStayType768Sub(supermod.LengthsOfStayType768): + def __init__(self, LengthOfStay=None, **kwargs_): + super(LengthsOfStayType768Sub, self).__init__(LengthOfStay, **kwargs_) +supermod.LengthsOfStayType768.subclass = LengthsOfStayType768Sub +# end class LengthsOfStayType768Sub + + +class LengthOfStayType769Sub(supermod.LengthOfStayType769): + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): + super(LengthOfStayType769Sub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) +supermod.LengthOfStayType769.subclass = LengthOfStayType769Sub +# end class LengthOfStayType769Sub + + +class DOW_RestrictionsType772Sub(supermod.DOW_RestrictionsType772): + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): + super(DOW_RestrictionsType772Sub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) +supermod.DOW_RestrictionsType772.subclass = DOW_RestrictionsType772Sub +# end class DOW_RestrictionsType772Sub + + +class ArrivalDaysOfWeekType773Sub(supermod.ArrivalDaysOfWeekType773): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(ArrivalDaysOfWeekType773Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.ArrivalDaysOfWeekType773.subclass = ArrivalDaysOfWeekType773Sub +# end class ArrivalDaysOfWeekType773Sub + + +class DepartureDaysOfWeekType774Sub(supermod.DepartureDaysOfWeekType774): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(DepartureDaysOfWeekType774Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.DepartureDaysOfWeekType774.subclass = DepartureDaysOfWeekType774Sub +# end class DepartureDaysOfWeekType774Sub + + +class RestrictionStatusType775Sub(supermod.RestrictionStatusType775): + def __init__(self, Restriction=None, Status=None, **kwargs_): + super(RestrictionStatusType775Sub, self).__init__(Restriction, Status, **kwargs_) +supermod.RestrictionStatusType775.subclass = RestrictionStatusType775Sub +# end class RestrictionStatusType775Sub + + +class RatesType779Sub(supermod.RatesType779): + def __init__(self, Rate=None, **kwargs_): + super(RatesType779Sub, self).__init__(Rate, **kwargs_) +supermod.RatesType779.subclass = RatesType779Sub +# end class RatesType779Sub + + +class RateType780Sub(supermod.RateType780): + def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, **kwargs_): + super(RateType780Sub, self).__init__(MinGuestApplicable, Start, End, RateTimeUnit, UnitMultiplier, Mon, Tue, Weds, Thur, Fri, Sat, Sun, Duration, InvTypeCode, BaseByGuestAmts, AdditionalGuestAmounts, RateDescription, MealsIncluded, **kwargs_) +supermod.RateType780.subclass = RateType780Sub +# end class RateType780Sub + + +class BaseByGuestAmtsType781Sub(supermod.BaseByGuestAmtsType781): + def __init__(self, BaseByGuestAmt=None, **kwargs_): + super(BaseByGuestAmtsType781Sub, self).__init__(BaseByGuestAmt, **kwargs_) +supermod.BaseByGuestAmtsType781.subclass = BaseByGuestAmtsType781Sub +# end class BaseByGuestAmtsType781Sub + + +class BaseByGuestAmtType782Sub(supermod.BaseByGuestAmtType782): + def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, **kwargs_): + super(BaseByGuestAmtType782Sub, self).__init__(NumberOfGuests, AmountAfterTax, CurrencyCode, Type, AgeQualifyingCode, **kwargs_) +supermod.BaseByGuestAmtType782.subclass = BaseByGuestAmtType782Sub +# end class BaseByGuestAmtType782Sub + + +class AdditionalGuestAmountsType784Sub(supermod.AdditionalGuestAmountsType784): + def __init__(self, AdditionalGuestAmount=None, **kwargs_): + super(AdditionalGuestAmountsType784Sub, self).__init__(AdditionalGuestAmount, **kwargs_) +supermod.AdditionalGuestAmountsType784.subclass = AdditionalGuestAmountsType784Sub +# end class AdditionalGuestAmountsType784Sub + + +class AdditionalGuestAmountType785Sub(supermod.AdditionalGuestAmountType785): + def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, **kwargs_): + super(AdditionalGuestAmountType785Sub, self).__init__(Amount, AgeQualifyingCode, MinAge, MaxAge, **kwargs_) +supermod.AdditionalGuestAmountType785.subclass = AdditionalGuestAmountType785Sub +# end class AdditionalGuestAmountType785Sub + + +class RateDescriptionType786Sub(supermod.RateDescriptionType786): + def __init__(self, Name=None, ListItem=None, **kwargs_): + super(RateDescriptionType786Sub, self).__init__(Name, ListItem, **kwargs_) +supermod.RateDescriptionType786.subclass = RateDescriptionType786Sub +# end class RateDescriptionType786Sub + + +class ListItemType787Sub(supermod.ListItemType787): + def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): + super(ListItemType787Sub, self).__init__(ListItem, Language, valueOf_, **kwargs_) +supermod.ListItemType787.subclass = ListItemType787Sub +# end class ListItemType787Sub + + +class MealsIncludedType790Sub(supermod.MealsIncludedType790): + def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, **kwargs_): + super(MealsIncludedType790Sub, self).__init__(Breakfast, Lunch, Dinner, MealPlanCodes, MealPlanIndicator, **kwargs_) +supermod.MealsIncludedType790.subclass = MealsIncludedType790Sub +# end class MealsIncludedType790Sub + + +class SupplementsType795Sub(supermod.SupplementsType795): + def __init__(self, Supplement=None, **kwargs_): + super(SupplementsType795Sub, self).__init__(Supplement, **kwargs_) +supermod.SupplementsType795.subclass = SupplementsType795Sub +# end class SupplementsType795Sub + + +class SupplementType796Sub(supermod.SupplementType796): + def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, **kwargs_): + super(SupplementType796Sub, self).__init__(AddToBasicRateIndicator, ChargeTypeCode, Amount, InvType, InvCode, MandatoryIndicator, Start, End, PrerequisiteInventory, Description, **kwargs_) +supermod.SupplementType796.subclass = SupplementType796Sub +# end class SupplementType796Sub + + +class PrerequisiteInventoryType797Sub(supermod.PrerequisiteInventoryType797): + def __init__(self, InvCode=None, InvType=None, **kwargs_): + super(PrerequisiteInventoryType797Sub, self).__init__(InvCode, InvType, **kwargs_) +supermod.PrerequisiteInventoryType797.subclass = PrerequisiteInventoryType797Sub +# end class PrerequisiteInventoryType797Sub + + +class DescriptionType799Sub(supermod.DescriptionType799): + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): + super(DescriptionType799Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) +supermod.DescriptionType799.subclass = DescriptionType799Sub +# end class DescriptionType799Sub + + +class TextType800Sub(supermod.TextType800): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType800Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType800.subclass = TextType800Sub +# end class TextType800Sub + + +class OffersType807Sub(supermod.OffersType807): + def __init__(self, Offer=None, **kwargs_): + super(OffersType807Sub, self).__init__(Offer, **kwargs_) +supermod.OffersType807.subclass = OffersType807Sub +# end class OffersType807Sub + + +class OfferType808Sub(supermod.OfferType808): + def __init__(self, OfferRules=None, Discount=None, Guests=None, **kwargs_): + super(OfferType808Sub, self).__init__(OfferRules, Discount, Guests, **kwargs_) +supermod.OfferType808.subclass = OfferType808Sub +# end class OfferType808Sub + + +class OfferRulesType809Sub(supermod.OfferRulesType809): + def __init__(self, OfferRule=None, **kwargs_): + super(OfferRulesType809Sub, self).__init__(OfferRule, **kwargs_) +supermod.OfferRulesType809.subclass = OfferRulesType809Sub +# end class OfferRulesType809Sub + + +class OfferRuleType810Sub(supermod.OfferRuleType810): + def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, **kwargs_): + super(OfferRuleType810Sub, self).__init__(MinAdvancedBookingOffset, MaxAdvancedBookingOffset, LengthsOfStay, DOW_Restrictions, Occupancy, **kwargs_) +supermod.OfferRuleType810.subclass = OfferRuleType810Sub +# end class OfferRuleType810Sub + + +class LengthsOfStayType811Sub(supermod.LengthsOfStayType811): + def __init__(self, LengthOfStay=None, **kwargs_): + super(LengthsOfStayType811Sub, self).__init__(LengthOfStay, **kwargs_) +supermod.LengthsOfStayType811.subclass = LengthsOfStayType811Sub +# end class LengthsOfStayType811Sub + + +class LengthOfStayType812Sub(supermod.LengthOfStayType812): + def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): + super(LengthOfStayType812Sub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) +supermod.LengthOfStayType812.subclass = LengthOfStayType812Sub +# end class LengthOfStayType812Sub + + +class DOW_RestrictionsType815Sub(supermod.DOW_RestrictionsType815): + def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): + super(DOW_RestrictionsType815Sub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) +supermod.DOW_RestrictionsType815.subclass = DOW_RestrictionsType815Sub +# end class DOW_RestrictionsType815Sub + + +class ArrivalDaysOfWeekType816Sub(supermod.ArrivalDaysOfWeekType816): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(ArrivalDaysOfWeekType816Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.ArrivalDaysOfWeekType816.subclass = ArrivalDaysOfWeekType816Sub +# end class ArrivalDaysOfWeekType816Sub + + +class DepartureDaysOfWeekType817Sub(supermod.DepartureDaysOfWeekType817): + def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): + super(DepartureDaysOfWeekType817Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) +supermod.DepartureDaysOfWeekType817.subclass = DepartureDaysOfWeekType817Sub +# end class DepartureDaysOfWeekType817Sub + + +class OccupancyType818Sub(supermod.OccupancyType818): + def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, **kwargs_): + super(OccupancyType818Sub, self).__init__(AgeQualifyingCode, MinAge, MaxAge, MinOccupancy, MaxOccupancy, **kwargs_) +supermod.OccupancyType818.subclass = OccupancyType818Sub +# end class OccupancyType818Sub + + +class DiscountType822Sub(supermod.DiscountType822): + def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, **kwargs_): + super(DiscountType822Sub, self).__init__(Percent, NightsRequired, NightsDiscounted, DiscountPattern, **kwargs_) +supermod.DiscountType822.subclass = DiscountType822Sub +# end class DiscountType822Sub + + +class GuestsType825Sub(supermod.GuestsType825): + def __init__(self, Guest=None, **kwargs_): + super(GuestsType825Sub, self).__init__(Guest, **kwargs_) +supermod.GuestsType825.subclass = GuestsType825Sub +# end class GuestsType825Sub + + +class GuestType826Sub(supermod.GuestType826): + def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, **kwargs_): + super(GuestType826Sub, self).__init__(AgeQualifyingCode, MaxAge, MinCount, FirstQualifyingPosition, LastQualifyingPosition, **kwargs_) +supermod.GuestType826.subclass = GuestType826Sub +# end class GuestType826Sub + + +class DescriptionType828Sub(supermod.DescriptionType828): + def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): + super(DescriptionType828Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) +supermod.DescriptionType828.subclass = DescriptionType828Sub +# end class DescriptionType828Sub + + +class TextType829Sub(supermod.TextType829): + def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): + super(TextType829Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) +supermod.TextType829.subclass = TextType829Sub +# end class TextType829Sub + + +class ErrorsType835Sub(supermod.ErrorsType835): + def __init__(self, Error=None, **kwargs_): + super(ErrorsType835Sub, self).__init__(Error, **kwargs_) +supermod.ErrorsType835.subclass = ErrorsType835Sub +# end class ErrorsType835Sub + + +class ErrorType836Sub(supermod.ErrorType836): + def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(ErrorType836Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.ErrorType836.subclass = ErrorType836Sub +# end class ErrorType836Sub + + +class WarningsType838Sub(supermod.WarningsType838): + def __init__(self, Warning=None, **kwargs_): + super(WarningsType838Sub, self).__init__(Warning, **kwargs_) +supermod.WarningsType838.subclass = WarningsType838Sub +# end class WarningsType838Sub + + +class WarningType839Sub(supermod.WarningType839): + def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): + super(WarningType839Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) +supermod.WarningType839.subclass = WarningType839Sub +# end class WarningType839Sub + + +def get_root_tag(node): + tag = supermod.Tag_pattern_.match(node.tag).groups()[-1] + rootClass = None + rootClass = supermod.GDSClassesMapping.get(tag) + if rootClass is None and hasattr(supermod, tag): + rootClass = getattr(supermod, tag) + return tag, rootClass + + +def parse(inFilename, silence=False): + parser = None + doc = parsexml_(inFilename, parser) + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'OTA_PingRQ' + rootClass = supermod.OTA_PingRQ + rootObj = rootClass.factory() + rootObj.build(rootNode) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + sys.stdout.write('\n') + rootObj.export( + sys.stdout, 0, name_=rootTag, + namespacedef_='', + pretty_print=True) + return rootObj + + +def parseEtree(inFilename, silence=False): + parser = None + doc = parsexml_(inFilename, parser) + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'OTA_PingRQ' + rootClass = supermod.OTA_PingRQ + rootObj = rootClass.factory() + rootObj.build(rootNode) + mapping = {} + rootElement = rootObj.to_etree(None, name_=rootTag, mapping_=mapping) + reverse_mapping = rootObj.gds_reverse_node_mapping(mapping) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + content = etree_.tostring( + rootElement, pretty_print=True, + xml_declaration=True, encoding="utf-8") + sys.stdout.write(content) + sys.stdout.write('\n') + return rootObj, rootElement, mapping, reverse_mapping + + +def parseString(inString, silence=False): + if sys.version_info.major == 2: + from StringIO import StringIO + else: + from io import BytesIO as StringIO + parser = None + rootNode= parsexmlstring_(inString, parser) + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'OTA_PingRQ' + rootClass = supermod.OTA_PingRQ + rootObj = rootClass.factory() + rootObj.build(rootNode) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + rootNode = None + if not silence: + sys.stdout.write('\n') + rootObj.export( + sys.stdout, 0, name_=rootTag, + namespacedef_='') + return rootObj + + +def parseLiteral(inFilename, silence=False): + parser = None + doc = parsexml_(inFilename, parser) + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'OTA_PingRQ' + rootClass = supermod.OTA_PingRQ + rootObj = rootClass.factory() + rootObj.build(rootNode) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + sys.stdout.write('#from ??? import *\n\n') + sys.stdout.write('import ??? as model_\n\n') + sys.stdout.write('rootObj = model_.rootClass(\n') + rootObj.exportLiteral(sys.stdout, 0, name_=rootTag) + sys.stdout.write(')\n') + return rootObj + + +USAGE_TEXT = """ +Usage: python ???.py +""" + + +def usage(): + print(USAGE_TEXT) + sys.exit(1) + + +def main(): + args = sys.argv[1:] + if len(args) != 1: + usage() + infilename = args[0] + parse(infilename) + + +if __name__ == '__main__': + #import pdb; pdb.set_trace() + main() diff --git a/uv.lock b/uv.lock index 36f87a1..c644d33 100644 --- a/uv.lock +++ b/uv.lock @@ -7,11 +7,77 @@ name = "alpine-bits-python-server" version = "0.1.0" source = { virtual = "." } dependencies = [ + { name = "generateds" }, { name = "lxml" }, ] [package.metadata] -requires-dist = [{ name = "lxml", specifier = ">=6.0.1" }] +requires-dist = [ + { name = "generateds", specifier = ">=2.44.3" }, + { name = "lxml", specifier = ">=6.0.1" }, +] + +[[package]] +name = "certifi" +version = "2025.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216 }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326 }, + { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008 }, + { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196 }, + { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819 }, + { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350 }, + { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644 }, + { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468 }, + { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187 }, + { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699 }, + { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580 }, + { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366 }, + { url = "https://files.pythonhosted.org/packages/8e/91/b5a06ad970ddc7a0e513112d40113e834638f4ca1120eb727a249fb2715e/charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15", size = 204342 }, + { url = "https://files.pythonhosted.org/packages/ce/ec/1edc30a377f0a02689342f214455c3f6c2fbedd896a1d2f856c002fc3062/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db", size = 145995 }, + { url = "https://files.pythonhosted.org/packages/17/e5/5e67ab85e6d22b04641acb5399c8684f4d37caf7558a53859f0283a650e9/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d", size = 158640 }, + { url = "https://files.pythonhosted.org/packages/f1/e5/38421987f6c697ee3722981289d554957c4be652f963d71c5e46a262e135/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096", size = 156636 }, + { url = "https://files.pythonhosted.org/packages/a0/e4/5a075de8daa3ec0745a9a3b54467e0c2967daaaf2cec04c845f73493e9a1/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa", size = 150939 }, + { url = "https://files.pythonhosted.org/packages/02/f7/3611b32318b30974131db62b4043f335861d4d9b49adc6d57c1149cc49d4/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049", size = 148580 }, + { url = "https://files.pythonhosted.org/packages/7e/61/19b36f4bd67f2793ab6a99b979b4e4f3d8fc754cbdffb805335df4337126/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0", size = 159870 }, + { url = "https://files.pythonhosted.org/packages/06/57/84722eefdd338c04cf3030ada66889298eaedf3e7a30a624201e0cbe424a/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92", size = 157797 }, + { url = "https://files.pythonhosted.org/packages/72/2a/aff5dd112b2f14bcc3462c312dce5445806bfc8ab3a7328555da95330e4b/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16", size = 152224 }, + { url = "https://files.pythonhosted.org/packages/b7/8c/9839225320046ed279c6e839d51f028342eb77c91c89b8ef2549f951f3ec/charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce", size = 100086 }, + { url = "https://files.pythonhosted.org/packages/ee/7a/36fbcf646e41f710ce0a563c1c9a343c6edf9be80786edeb15b6f62e17db/charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c", size = 107400 }, + { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175 }, +] + +[[package]] +name = "generateds" +version = "2.44.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lxml" }, + { name = "requests" }, + { name = "six" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/84/79ca1e01337fe898cd303ac8d51151b4bea4891028b93ae5bf5e9cc911a9/generateDS-2.44.3-py3-none-any.whl", hash = "sha256:ae5db7105ca777182ba6549118c9aba1690ea341400af13ffbdbfbe1bc022299", size = 147394 }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, +] [[package]] name = "lxml" @@ -56,3 +122,36 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/72/a5/506775e3988677db24dc75a7b03e04038e0b3d114ccd4bccea4ce0116c15/lxml-6.0.1-cp314-cp314-win_amd64.whl", hash = "sha256:911d0a2bb3ef3df55b3d97ab325a9ca7e438d5112c102b8495321105d25a441b", size = 4079818 }, { url = "https://files.pythonhosted.org/packages/0a/44/9613f300201b8700215856e5edd056d4e58dd23368699196b58877d4408b/lxml-6.0.1-cp314-cp314-win_arm64.whl", hash = "sha256:2834377b0145a471a654d699bdb3a2155312de492142ef5a1d426af2c60a0a31", size = 3753901 }, ] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738 }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795 }, +]